![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作中的点点滴滴
文章平均质量分 77
御前提笔小书童
喜时不诺,怒时不争,哀时不语,倦时有终;
静以修身,俭以养德;
----------------------御前提笔小书童
展开
-
重庆智能交通综合管理系统认证中心SSO接入
重庆智能交通综合管理系统认证中心SSO接入提示:统一身份认证平台为局内用户提供用户身份鉴别服务,单点登录功能。平台提供统一用户、权限管理和系统接入等能力,可以更高效的管理人员变动和权限调整。同时承担各个业务系统与门户的跳转认证责任。前言此文档基于OAuth2.0的Authorization Code授权模式一、实现原理SSO单点登录是基于共享统一身份认证平台的cookie来实现的,对接流程如下:1.当系统A登录成功后2.统一身份认证平台里面会保存了系统A中的登录信息建立全局会话,并把自原创 2021-10-26 20:42:58 · 969 阅读 · 0 评论 -
Linux批量修改文件名
文章目录前言一、操作命令二、详解1、 # 号截取,删除左边字符,保留右边字符。2、 ## 号截取,删除左边字符,保留右边字符。3、 %号截取,删除右边字符,保留左边字符4、 %% 号截取,删除右边字符,保留左边字符前言例如:在工作中经常会遇到要在linux系统下,批量修改目录里文件名的需求,很多人习惯一个文件一个文件的修改,这里就是帮忙解决批量修改文件名的问题,也提醒大家遇到问题多搜一搜解决办法提示:下面案例可供参考一、操作命令示例:for name in `ls *`;do mv $n原创 2021-10-24 15:52:49 · 8818 阅读 · 0 评论 -
elasticsearch的服务器响应异常及应对策略
1 _riverStatus Import_fail问题描述: 发现有个索引的数据同步不完整,在 http://192.168.1.17:9200/_plugin/head/ 在browse - river里看到 _riverStatus Import_fail查看 elasticsearch 的log发现 有几条数据由于异常造成同步失败,处理好数据好重新建索引数据同步正常。2 es_rejected_execution_exception <429>此异常主要是因为请求数过多,es的线转载 2021-07-31 15:58:32 · 2097 阅读 · 0 评论 -
docker容器无法访问宿主机报出 No route to host
项目场景:提示:docker容器无法访问宿主机报出 No route to host:例如:防火墙环境下,docker容器无法访问宿主机的其他应用端口原因分析:在进行docker部署的时候我们采用的是bridge网桥的模式。启动docker时,docker进程会创建一个名为docker0的虚拟网桥,用于宿主机与容器之间的通信。当启动一个docker容器时,docker容器将会附加到虚拟网桥上,容器内的报文通过docker0向外转发。如果docker容器访问宿主机,那么docker0网桥将报文直原创 2021-07-31 15:50:47 · 8887 阅读 · 5 评论 -
gbase字段长度
项目场景:国产Gbase数据库使用中发现一些和常用的数据库的区别,尤其是最近做ETL同步经常发现数据同步失败原因分析:这类问题,常见的异常是字段超过长度,但是建表语句中两个源的表设置字段长度是一样的。其实原因是因为gbase的长度和MySQL等数据库长度不一致造成的解决方案:目前简单的解决办法是:gbase的长度设置相比mysql的需要调整成3倍,超过255长度的 类型改成lvarchar关注Github:1/2极客关注博客:御前提笔小书童关注网站:开发者的花花世界关注公众号:开原创 2021-03-30 18:15:20 · 1768 阅读 · 0 评论 -
《这是知识点》之上传POST可绕过Java过滤器
项目场景:提示:公司有个项目做安全测评时发现了一个注入问题。系统设置了全局的XSS过滤器,在其他功能点上生效了,但在一个发布功能没有被过滤,后续排查发现安全测评走的是上传包注入方式,故记录此次问题问题描述:问题功能模块的作用是一个添加相关参数并上传附件的点,问题出在添加的参数未被全局XSS过滤器生效 原因分析:基于Tomcat和Spring MVC的底层代码分析问题原因常用的请求分文三种,GET型请求,普通POST型请求和上传POST型请求。本文的普通型POST请求指的是除上传POS原创 2021-01-30 15:42:20 · 550 阅读 · 0 评论 -
javax.naming.OperationNotSupportedException: Context is read only
场景:最近帮忙升级Tomcat版本时发现日志有这个异常:javax.naming.OperationNotSupportedException: Context is read only原因:容器必须确保应用程序组件实例仅具有对其命名上下文的读访问权。因此,修改环境命名上下文及其子上下文的javax.naming.Context接口的所有方法都会抛出该异常The container must ensure that the application component instances原创 2020-12-11 10:46:05 · 2598 阅读 · 0 评论 -
idea报Can‘t use Subversion command line client: svn
场景:两种场景:1、window系统2、Mac系统最近给Mac系统升级的到macOS11后发现的idea问题,故给这种情况简单写一下分析:Windows系统出现这样的错误:Can’t use Subversion command line client: svnProbably the path to Subversion executable is wrong. Fix it.1、在安装的TortoiseSVN工具时,本身是带有command-line功能的如图(图片来源于网络),但没原创 2020-11-18 14:47:13 · 1871 阅读 · 0 评论 -
《伸手系列》之分布式ID生成解决方案
一、为什么要用分布式ID?1. 什么情况下我们需要ID生成器数据库水平拆分的情况下,主键由于需要作为业务标识使用,需要唯一。业务编号需要暴露给用户,但是又不想被用户猜到需要被隐藏的业务编号业务编号需要体现业务信息,比如订单分类订单渠道等等拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据原创 2020-10-24 13:21:00 · 1279 阅读 · 4 评论 -
idea报Caused by: java.rmi.RemoteException: Cannot start maven service
项目场景:有时候会遇到idea导入maven工程出现标题的错误,以及异常信息是无法连接、连接超时等问题,甚至会出现修改pom文件卡死等情况原因分析:出现以上问题的原因有很多种,大部分情况的原因有以下几点:hosts文件的localhost的指向问题idea配置的maven版本以及相应JDK版本问题idea配置maven的相关参数问题其他问题解决方案:hosts 文件内容去掉 :: 1 ,如果没有localhost的话加上 127.0.0.1 localhostide原创 2020-10-20 19:39:49 · 2475 阅读 · 2 评论 -
jenkins 2.2.X版本关闭跨站请求伪造保护
场景:根据官网描述,Jenkins版本自2.204.6以来的重大变更有:删除禁用 CSRF 保护的功能,从而会遇到403问题解决方案:因为集成服务都是在内网操作,为删繁就简,考虑关闭 CSRF 保护功能,经过实践在Jenkins启动前加入相关取消保护的参数配置后启动Jenkins,即可关闭CSRF,配置内容如下:-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true也可以直接修改jen原创 2020-10-20 19:27:24 · 1435 阅读 · 1 评论 -
《伸手系列》之arm架构服务器安装kubernetes
前端时间买了两台华为云服务器没有用,最近看了一下发现是arm架构的,刚好没有在arm上装过k8s,特意装一下顺便记录一下一、环境准备硬件参数操作系统和安装要求以上是华为云服务器的情况,直接官网搬的信息Docker安装注意:采用静态包而非yum install的方式,是因为默认yum源的Docker版本过旧,容易出错且出现问题难以定位。进入Docker官方下载地址,查看Docker静态安装包列表。下载地址:https://download.docker.com/linux/.原创 2020-09-19 12:36:08 · 2854 阅读 · 0 评论 -
《伸手系列》之CXF调用webService接口的两种方式,支持http和https
最近发现一个旧项目的调用webservice接口不支持HTTPS,故支持一下,顺便分享一波目前一般做这种通用的接口调用,对于HTTPS的接口一般都是忽略验证,直接跳过;本文基于WSDL的webservice接口地址开发具体两步:1、跳过https的验证private static void trustAllHosts() { TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {.原创 2020-08-30 14:25:53 · 1603 阅读 · 1 评论 -
RSA之基于hutool的快速实现
刚刚临时帮同事写个rsa加密的工具包,基于hutool的快速实现,随手给需要的小朋友,非依赖hutool的请看我另外的文章,RSA加密算法Java应用解析-目前地球上最有影响力的加密算法RSA工具包2020年08月02日21:06:42 关于RSA就不多说了,直接上干货一、首先获取公私钥// 第一次使用时获取,获取后保存公私钥,不要重复获取Map<String, String> stringStringMap = RsaUtils.generateKeyPair();.原创 2020-08-02 21:20:21 · 5194 阅读 · 1 评论 -
《探错笔记》之redis集群出现单节点宕机应用无法正常连接
项目中 redis集群出现单节点宕机,造成master迁移,但是发现应用无法正常连接redis问题场景Redis集群出现单节点异常造成master迁移时,底层基于Lettuce实现的应用程序无法正常连接Redis分析分析了代码,发现默认Lettuce是不会刷新拓扑io.lettuce.core.cluster.models.partitions.Partitions#slotCache,最终造成槽点查找节点依旧找到老的节点,自然访问不了了解决方案直接上代码,通过配置ClusterTopolo.原创 2020-06-29 15:01:37 · 1643 阅读 · 1 评论 -
IntelliJ IDEA 编译程序出现 非法字符 的 解决方法
IDEA出现:“异常 illegal character 200B” 、“’ u200b’”、“\65279”等错误时,一般都是出现直接复制别人代码的造成的。通常有两个解决办法修改idea的编译设置,增加参数在 Settings 中的 Build 下面的 Compiler 下。修改 Java Compiler在 Additional comman line parameters(附加参数)中添加参数 -encoding UTF8 即可。2.编码格式转换由于基本是编码格式造成,故可以先进行原创 2020-05-29 10:37:58 · 2036 阅读 · 0 评论 -
《探错笔记》之挂载NFS时提示:mount: 文件系统类型错误、选项错误、有坏超级块
记一次同事服务器共享磁盘挂载不上报错的问题linux系统进行磁盘挂载时,报错显示:# mount 172.19.4.12:/data/nfs /data/nfsmount: 文件系统类型错误、选项错误、172.19.4.12:/data 上有坏超级块、 缺少代码页或助手程序,或其他错误 (对某些文件系统(如 nfs、cifs) 您可能需要 ...原创 2020-04-23 15:37:10 · 8172 阅读 · 0 评论 -
GitHub传代码错误fatal:Authentication failed for'https://git……解决方法
上传代码到Git上面,有时候会遇到各种情况,有些时候是因为合并代码冲突,有些时候是因为修改了Git的登录密码需要重新认证。那么这里就来讲解错误提示fatal: Authentication failed for 'https://gitee.com/XXX/XXX.git/‘的解决方法。在一次上传代码的时候,不知道修改Git登录密码需要重新认证这个情况,然后提交代码的时候提示了上面的那个错误,当...转载 2020-03-25 21:20:57 · 13359 阅读 · 0 评论 -
《这是知识点》之Linux下分割文件并保留文件头
这是一个知识点方便快捷的给结构化数据文件分割大小并保留文件的表头,几十个G的结构化文件不仅阅读编辑麻烦,而且使用受限,因此高效的分割成小文件并保留头行1、分割文件在Linux下,切割和合并文件可以使用split和cat命令来实现。在Windows下,安装Git Bash也可以使用split和cat命令。分割文件的命令是split,通过输入split --help可以查询帮助信息。假设...原创 2020-03-25 20:14:39 · 606 阅读 · 0 评论 -
《伸手系列》第一集-Shiro安全认证框架的从入门到“出门”
1.Shiro简介--author:写文章的需要,所以写简介里面的内容给完全的新手,大家心急的可以直接拉到第二点开始。Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。实际上,Shiro的主要功能是管理应用程序中与安全相关的全部,同时尽可能支持多种实现方法。Shiro是建立在完善原创 2017-09-02 11:07:29 · 2376 阅读 · 0 评论 -
Myeclipse优化小结
Myeclipse优化最近升级改造一个比较老的项目,别的team用的CVS,不想给eclipse装插件了(已经有SVN和git了),所以就临时用myeclipse,下面是自己整理和部分查找的优化软件的总结,可以看看.第一步: 取消自动validationvalidation有一堆,什么xml、jsp、jsf、js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会原创 2017-08-30 17:21:33 · 949 阅读 · 0 评论 -
Redis超级新手指南-下篇(哪吒篇)
可用高性能分布式缓存解决方案(Rdeis)1.简述 本文将从以下几个方面详细讲解redis,看过上篇(福禄篇)的可以直接跳过简介,这里只是保证文章的可读性.(在word上写完才拷贝过来的(几天才写完),所以可能看起来不太舒服)v redis简介v sentinel 功能v twemproxy特性v twemproxy + redis + sentinel 实现re原创 2017-08-30 10:03:52 · 3514 阅读 · 3 评论 -
Redis超级新手指南-上篇(福禄篇)
Redis简介Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符原创 2017-08-29 15:20:59 · 4621 阅读 · 4 评论 -
史上最详细最全的Linux上安装Oracle的教程-centos7-humf
一、安装Oracle前准备1.创建运行oracle数据库的系统用户和用户组[humf@localhost ~]$ su root #切换到rootPassword: [root@localhost sonny]# groupadd oinstall #创建用户组oinstall[root@localhost sonny]# groupadd dba #创建用户组dba原创 2017-07-27 12:53:59 · 73284 阅读 · 20 评论 -
Java中实现SMTP邮件服务器-用demo简单粗暴的来发一波邮件了
1、 邮件开发涉及到的一些基本概念(表示只要代码着急拿来用的童鞋直接翻到后面第2点:))在简单粗暴的拿出样例之前,需要先简介一下邮件服务的一些基本概念,以期更好的理解本文。在一个目前常用的邮件系统中,收发邮件功能的实现是通过不同的协议实现的,收邮件一般采用POP(PostOffice Protocol)协议,即邮局协议,目前所用的版本是3,所以人们通常称之为POP3,。该协议定义了接收邮件的机原创 2017-07-18 11:13:33 · 18201 阅读 · 2 评论 -
HttpClient-大量数据处理任务下你做对了吗?
httpclient最近在单记录大量传输数据的时候出现了问题,由于是大量数据的单条传输(业务需要),所以出现服务器的连接被占满拒绝的连接的情况; 这里我在httpclient请求的时候部分代码是这样写的;HttpClient client = new HttpClient();HttpMethod method = new GetMethod("http://www.apache.org原创 2017-06-23 17:25:39 · 6110 阅读 · 0 评论 -
UUID.randomUUID()简单介绍
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需原创 2017-06-08 11:31:39 · 52222 阅读 · 1 评论 -
Java中通过FTP上传和下载
一个JAVA实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上穿件文件夹、检测文件夹是否存在等,里面的有些代码对编写JAVA文件上传或许有参考价值,直接把代码贴出来了,注释写的很详细,大家可以参考参考.1.FtpUtilimport java.io.DataOutputStream;import java.i原创 2017-04-26 09:24:12 · 2255 阅读 · 0 评论 -
《伸手系列》第二集-oracle数据库“灾难性”数据恢复-(一)
文章开始之前,先把重要的事情说三遍,不要随便用‘truncate’、不要随便用‘truncate’、不要随便用‘truncate’!!!可能你觉得它比delete速度快的多,但是你是否真的确定你的数据没删错吗?好吧,你百分百确定是不要的数据,那么你确定你在执行truncate操作的时候,连的是你的测试库吗?昨天晚上的例子,同事加班加累了在测试库测试的时候,没注意在执行truncate表的时原创 2017-10-11 11:48:50 · 3464 阅读 · 5 评论 -
一个doT分页的demo
除了jQuery外,需要导入3个js,<script type="text/javascript" src="js/doT.min.js"></script><script type="text/javascript" src="js/jquery.pagination.js"></script>&原创 2018-03-26 22:46:06 · 461 阅读 · 0 评论 -
Eclipse/MyEclipse的web项目中的js文件报Multiple markers at this line - Missing semicolon时的解决方法
1.MyEclipseMyEclipse的web项目中的js文件报Multiple markers at this line - Missing semicolon时,是由于还没有告诉myeclipse去验证它。解决方法,选中js文件,右键Myeclipse--ManaValidation--ExcludeResource--(选中全部或者报错的那个js)--点击OK即可,这是Eclipse或原创 2017-03-03 10:01:30 · 8640 阅读 · 1 评论 -
程序员可以免费申请IntelliJ IDEA
IDEA免费开源协议在 https://www.jetbrains.com/community/opensource/ ,IDEA有一个开源免费协议。申请门槛只需在GitHub上准备一个维护超过3个月的项目开源项目,就可以免费使用IDEA 1年了申请免费使用第一步https://www.jetbrains.com/shop/eform/opensource?product=ALL 即可提...原创 2019-07-31 23:25:22 · 2000 阅读 · 0 评论 -
git push github失败,提示:SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
git push github失败,提示:SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443因为Git的Http代理的问题,Git支持三种协议:git://、ssh://和http://,本来push的时候应该走ssh隧道的,但是因为设置了http代理,所以就走了http的代理,于是就提交不了了。 找到原因了,那就取...原创 2019-03-14 17:17:41 · 1494 阅读 · 0 评论 -
禅道迁移和数据恢复(安装包或者docker)
(由于使用文本编辑器编辑,文字排版稍乱)原文本图片 详细文章步骤:1.安装包工程 1.1 同版本安装包 1.2 数据恢复 1.2.1 有管理员账号 管理员登录并点击后台,选择备份,最后进行备份 进入原服务器的路径下的zentao目录保存到目的服务器的相同地址并替换...原创 2019-02-18 13:07:59 · 4838 阅读 · 0 评论 -
thymeleaf模板进行后台变量取值时显示的红色波浪线
方法一、在<!DOCTYPE html>下加上 <!--suppress ThymeleafVariablesResolveInspection --> 方法二、在<!DOCTYPE html>下加上 <!--suppress ALL --> 在页面第二行加上’suppress ThymeleafVariablesResolveInspe...原创 2018-10-29 16:54:27 · 1395 阅读 · 0 评论 -
添加Sublime Text 3到鼠标右键
网上有手动添加注册表的方式,对于小白来说比较麻烦,所以下面这种方式比较简便1.在Sublime Text 3的根目录, 新建一个文本文档,然后更名为add_right_menu.inf(包含后缀),文本的编码格式请设置ANSI2.文件内容填写[Version]Signature="$Windows NT$" [DefaultInstall]AddReg=SublimeTe...原创 2018-08-14 22:29:43 · 3350 阅读 · 0 评论 -
Oracle记录锁住解决办法
Oracle中查询锁表的SQL:select sess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_modefrom v$locked_object lo, dba_objects ao, v$session sesswhere ao.object_id = lo.objec...原创 2018-05-30 23:48:44 · 2960 阅读 · 0 评论 -
KindEditor解决浏览器兼容性的问题
KindEditor的图片上传插件,对浏览器兼容性不好。使用@ResponseBody注解返回java对象,Content-Type:application/json;charset=UTF-8返回字符串时:Content-Type:text/plan;charset=UTF-8 指定响应结果的content-type:KindEditor的多图片上传插件最后响应的content-type是tex...原创 2018-05-21 17:45:20 · 2484 阅读 · 0 评论 -
FTP上传下载工具(避免中文乱码)
import cn.gwssi.zygl.config.ZyglConstant;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPFile;import org.apache.commons.net.f...原创 2018-04-17 10:03:33 · 1323 阅读 · 0 评论 -
Java增加校验位
public abstract class SerialResouce {//工作中的简单例子,大家根据需求自己修改校验规则 public abstract String getNextSerialNo(String year, String type) throws Exception; /** * 获取序号 * * @param seqName *原创 2017-04-25 09:02:48 · 1971 阅读 · 0 评论