- 博客(242)
- 收藏
- 关注
原创 【项目】 Java 过滤器 解决存储型xss攻击问题
攻击者可以通过构造URL注入JavaScript、VBScript、ActiveX、HTML或者Flash的手段,利用跨站脚本漏洞欺骗用户,收集Cookie等相关数据并冒充其他用户。通过精心构造的恶意代码,可以让访问者访问非法网站或下载恶意木马,如果再结合其他攻击手段(如社会工程学、提权等),甚至可以获取系统的管理权限
2020-12-22 17:20:52 3688
原创 【数据库】mysql8.0 密码有特殊字符,登录失败errorCode 1045,state 28000 Access denied for user
小编最近部署本地项目中,遇到了一个很奇怪的问题,在阿里云的MySQL8.0上具有特殊字符的密码连接数据库可以成功,然而客户商本地部署项目中连接库是失败的。经过一番探索,得知是密码中存在特殊字符导致的。
2020-10-29 10:22:24 1369 1
原创 【运维】Docker构建软件、微服务镜像及虚拟化原理
我们在了解了docker是一个容器引擎、架构、docker镜像、容器的常用命令,下面正式在系统中应用,构建并运行软件、微服务镜像,并进一步熟悉docker的虚拟化原理。
2020-09-25 17:28:41 507
原创 【运维】Docker 容器引擎及安装
2013年发布至今, Docker 一直受到一些大公司大项目的关注,被认为可能会改变软件行业。但是,许多传统的公司并不清楚 Docker 到底是什么?为什么要使用Docker,不知道它到底在项目整套流程中发挥了一个什么样的神仙作用?
2020-09-11 13:55:47 324
原创 【架构】正向代理和反向代理
前言 小编最近学习Nginx反向代理的知识,主要学到一些基础性的理论,具体结合项目去理解会非常到位。学习内容导图 下面是自己在学习过程中,总结的一张导图,多少会有一些不全面和理解不透彻的地方,希望以后在深入学习和应用中,有进一步的认识。正向代理和反向代理一、是什么1.正向代理概念(1)正向代理类似一个跳板机,代理访问外部资源。(2)举例说明...
2020-09-10 10:50:16 521 12
原创 【项目】部署Java服务-Tomcat、Nginx、shell部署脚本
小编刚完成了一个部署Java服务的任务,大概有三个点可以介绍,Tomcat服务安装修改配置文件、Nginx路由配置、编写shell脚本部署服务以及遇到的几个相关坑,记录下来,分享给大家!
2020-08-27 16:20:27 288
原创 【项目】新建业务数据页面-添加“保存并提交审批”按钮
项目版本迭代中,小编分到了这样一个功能:新增按钮-配置审批流的业务对象在创建业务数据时,显示一个“保存并提交”的按钮,点击后数据正常保存、满足审批条件提交审批。小编在实现过程中,出现了一些业务实现方面的漏洞,并从中收获到一些开发中的经验。
2020-08-17 14:47:25 1104
原创 【第三方OA对接】03 企业微信对接项目总结
企业微信的对接,比较复杂,因为企业微信的开发文档中,包含了企业内部开发和第三方应用开发,稍不注意就容易理解偏差,我们使用的是第三方应用的API,开发前期对于文档的梳理非常必要,一定要耐心去整理思路。
2020-08-10 11:36:33 2961
原创 【第三方OA对接】02 好视通对接项目总结
好视通的开发功能仅限于开通免费租户,一个管理员账号提供所有人使用,作为渠道商,我们只需要调用好视通开通租户,创建视频会议等相关API。
2020-07-29 11:21:55 649
原创 【第三方OA对接】01华为云WeLink对接项目总结
前言 2019年12月到 2020年04月,小编参与到公司项目与第三方OA的对接,即华为云WeLink市场的对接工作,华为云市场、WeLink市场两部分对接工作,我负责华为云市场项目对接接口、另一个同事负责WeLink对接。主要经历了四个阶段:熟悉第三方文档需求及相关业务、研发、测试、上线并解决问题。主要工作 第三方接口调用、开通第三方租户(租户包括本项目、第三方)第三方接口调用一、准备工作熟悉整体业务流程图项目分
2020-07-10 15:34:01 2155 2
原创 【项目总结】第三方OA对接、项目从零入手
前言 近半年在平台项目的接触过程中,发现底层源码的能力很重要,有助于帮助我们理解项目代码,整理思路。代码思维能力也很重要。项目经历一、开发内容第三方对接华为云WeLink对接 2019-12 ~ 2020-04企业微信小程序对接 2020-03 ~ 2020-05好视通视频会议对接 2020-05-09 ~ 2020-05-20Mon 06Mon 13Mon 20Mon 27Mon 03Mon 10Mon 17Mon 24Mon 31
2020-07-01 15:39:23 1156
原创 【前端】localStorage设置过期时间
前言 项目中用户登陆之后,用户携带权限认证的Authorization 的token信息,会有一个过期时间,但是在项目中如何判定这个token过期,并要求用户重新登录,获取一个新的token呢?这时我们就需要使用localStorage设置一个key,存放过期时间。父类中写方法一、BaseUI类中写方法 1.BaseUI是前端系统各个页面都继承的...
2019-08-10 11:15:08 4948 7
原创 【JVM】多线程如何保证并发正确性?
站在计算机的角度去抽象、解决问题,是面向过程的编程思想;站在现实世界的角度去抽象、解决问题,是面向对象的编程思想。然而计算机世界与现实世界存在一些差异,必须让程序在计算机中正确无误的进行,然后实现高效,即保证并发的正确性和实现线程的安全性。
2019-08-03 08:12:11 1139
原创 【JVM】JMM中的工作内存与主内存如何保证线程安全?
并发处理的广泛应用使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器。 注:Amdahl定律通过系统中并行化与串行化的比重来描述多处理器系统能够获得的运算加速能力,摩尔定律则用与描述处理器晶体管数量与运行效率之间的发展关系。这两个定律的更替代表了近年来硬件发展从追求处理器频率到追求多核心并行处理的发展过程。
2019-07-27 10:45:37 429
原创 【数据结构】数组及常见的面试题
前言 首先理解数据结构的概念,数据结构是计算机存储、组织数据的方式。相互之间存在一种或多种特定关系的数据元素的集合。选择一种合适的数据结构可以实现更高的运行或存储效率。 数据结构往往同高效的检索算法和索引技术有关。数据结构主要研究数据的逻辑结构,划分为:线性结构和非线性结构。常用的数据结构:数组Array、栈Stack、队列Queue、链表Li...
2019-07-19 15:35:33 1431 2
原创 【设计模式】策略模式-组合方式实现以及spring中如何体现
策略模式的主要是定义算法族,分别封装起来,让它们之间可以互相替换,使算法的变化独立于使用算法的客户。它属于行为模式中的一种,我们可以通过一个项目对它进行了解。
2019-07-13 09:18:06 575 1
原创 【设计模式】命令模式--封装调用
前言 命令模式是行为型模式之一,特点是将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。餐厅命令模式角色 顾客、女招待、订单、快餐厨师。职责 顾客发出订单请求 订单封装了准备餐点的请求 女招待工作是接收订单takeOrder(order),调用订单的orderUp()方法 快餐...
2019-07-06 19:30:42 384 1
原创 【Spring Cloud】Config 集中化配置中心
前言 微服务将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,由于每个服务都需要配置信息才能运行,所以一套集中式的、动态的配置管理设施必不可少。 Spring Cloud提供了ConfigServer来解决这个问题。Spring Cloud Config 是什么 一、概念 Spring Cloud Config为分布式系统中的外部配置提...
2019-06-29 10:31:29 279 5
原创 【Spring Cloud】Zuul-过滤机制及demo展示
前言 Zuul是Netflix开源的一个API Gateway服务器,本质上是一个web servlet应用。Zuul在云平台上提供动态路由,监控、弹性、安全等边缘服务的框架,Zuul相当于是设备和Netflix流应用的Web网站后端所有请求的前门。Zuul工作原理 一、过滤器机制 zuul的核心是一系列的filters,其作用可以类比Servlet框架的Fi...
2019-06-28 15:28:54 368 8
原创 【Spring Cloud】Hystrix 断路器-分布式服务雪崩的解决方案
前言 分布式应用程序面临着一些问题,会出现服务雪崩。多个微服务间调用的时候,假设微服务A调用微服务B,微服务B调用微服务C,即扇出。如果扇出的链路上某个微服务的调用响应时间过长或不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统的崩溃,即雪崩效应。 而Spring Cloud Hystrix的出现便可以解决这种情况,Hystrix是一个用于处理分布式系统的延迟和...
2019-06-28 11:09:17 387 8
原创 【Spring Cloud】Feign-提供HTTP协议的API
前言 Feign是一个声明式Web Service客户端,使得编写Web服务客户端变得非常容易,只需要创建一个接口,然后在接口上面添加注解即可。基于上一篇文章【Spring Cloud】Ribbon 客户端的负载均衡继续延伸。(Web Service是建立可互操作的分布式应用程序的新平台,基于HTTP协议,暴露一个可以通过Web调用的API)Feign能做什么 ...
2019-06-28 08:57:45 717 4
原创 【Spring Cloud】Ribbon 客户端的负载均衡
前言 Spring Cloud Ribbon 是基于Netflix Ribbon实现的一套客户端负载均衡的工具,将Netflix的中间层服务连接在一起。Ribbon组件提供了一系列完善的配置项如连接超时、重试等。 在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动帮助你基于某种规则(简单轮询、随机连接等)去连接这些机器,同时我们也能够实现自...
2019-06-27 21:46:25 224 4
原创 【Spring Cloud】 Eureka -CS架构实现服务发现
目录前言原理解析 一、Eureka的地位 二、C-S设计架构三、架构图四、三大角色搭建Eureka环境一、新建 Eureka Server 的 Module microservicecloud-eureka-7001二、新建 Eureka Provider Modulemicroservicecloud-provider-dept-8001启动...
2019-06-27 17:14:23 655 33
原创 【Spring Cloud】微服务架构对比
前言 小编总结一下最近系统学习的Spring Cloud的相关知识,学习之后的总结是对于知识的深入理解和吸收,小编按照学习内容简单罗列一下相关的知识点。微服务与微服务架构 一、微服务的文章https://martinfowler.com/articles/microservices.html推荐阅读这篇文章,里面讲到了微服务的由来和发展的趋势,以及微服务架构的特征...
2019-06-25 21:16:16 383 5
原创 【Spring】AOP(一) 基本概念
前言 小编在学习一本书《spring 技术内幕》,书中讲解源码,以及源码的设计思路,通过AOP这章内容的学习,小编发现需要拿出来总结一番了。(百度网盘地址:https://pan.baidu.com/s/1mA1NCehfmB8deud8f3w2xQ 提取码:zzsd)AOP概念 1. Aspect-Oriented Programming,面向方面编程或面向切面编程...
2019-06-21 15:32:43 326 2
原创 【项目】ionic 4 项目报错Cannot assign to a reference or variable!
前言 小编在编码过程中,遇到一个错,可怕的是,看错误日志,竟无法定位到具体的文件及代码位置,通过查找博客,以及不断注释代码,发现了问题所在。问题展示bug所在的代码<ion-select #groupId style="margin-right: 30%;" cancelText="取消" okText="确定" placeholder="请选择分组" ...
2019-06-14 20:48:14 1260 4
原创 【数据库】数据库切分
前言 小编最近学习mycat中间件的内容,看了一本书《mycat权威指南》,里面内容非常丰富,入门篇、高级进阶篇、生产实践篇和开发篇,对小编来说非常有价值。现在简单总结一下入门篇中的内容。数据库切分为什么出现一、为什么出现数据库切分 在互联网时代,海量数据的存储与访问成为系统设计与使用的瓶颈问题,最典型的场景有两种类型:联机事务处理(OLTP)和联机分析处理(OLAP...
2019-06-14 08:28:29 2558 4
原创 【MySQL】三种锁
前言 锁是计算机协调多个进程或纯线程并发访问某一资源的机制。锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。MySQL三种锁 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level lockin...
2019-06-09 21:51:48 735 3
原创 【项目】Spring Cloud项目调用第三方服务报错解决
前言 小编在Spring Cloud项目中,需要调用一个第三方服务,在调用过程中,遇到了两个问题,在这篇博客中做一个分享。pom.xml导入第三方服务 一、直接导入第三方服务jar包<!--培养计划服务--><dependency> <groupId>com.dmsdbj.cloud</groupId> &l...
2019-06-02 09:59:18 1442 8
原创 【Java】《Java多线程编程核心技术》1多线程技能
目录前言导图展示进程和线程的概念一、概念理解二、多线程实现方式常用线程方法小结前言 小编最近在看一本多线程书籍《Java多线程编程核心技术》,里面讲到了线程的一些基础知识,书中全部用案例来讲解技术点的实现,使读者看到代码及运行结果后就可以知道此此项目要解决的是什么问题。 本书就像“瑞士军刀”一样,精短小,但却非常锋利,可帮读者快速学习...
2019-06-01 10:50:39 513 5
原创 【前端】vue2 页面路由跳转后不重新加载
前言 小编最近在新搭建的vue2.0的框架中,发现页面路由跳转后,不会重新加载,遇到这个问题,小编想到了vue的生命周期中,有几个钩子方法可以使用,通过上网查询了解,找到了可以使页面路由跳转后可以重新加载页面的钩子方法。调用方法重新渲染页面 一、使用activated()钩子方法<script>export default { // ... a...
2019-05-26 09:48:47 8710 11
原创 【前端】vue2中的报错:Duplicate keys detected: '0'
前言 小编在vue前端项目中,遇到了一个错误,解决思路主要集中在v-for的用法上面,key的值不能重复,所以它的取值非常重要,循环嵌套时也需要注意一下。报错详细内容一、报错图1原因:v-for取用key值时,key值重复: <Select v-model="questionDetail.company" style="width:200px"&g...
2019-05-19 20:31:25 2909 9
原创 【架构】分布式事务
目录前言为什么需要分布式事务 一、数据库分库分表二、应用SOA化三、事务的特性模型-X/OpenDTP一、分布式事务概念二、模型的概念三、具体应用互联网解决方案一、业务接口整合,避免分布式事务二、最终一致性方案三、最大努力通知型小结前言 小编学习分布式事务的过程中,对于分布式事务的产生背景、分布式事务的应用场景以及...
2019-05-11 20:24:24 2511 10
原创 【架构】分布式协调服务-zookeeper
前言 小编最近接触分布式的学习,对于分布式协调服务zookeeper有了一定的了解,现在简单地总结一下这块的知识。奉上一张导图:分布式环境 一、特点 分布性、并发性、无序性 分布性:部署两台以上的服务器,多个节点分布开来; 并发性:同一个分布式系统中的多个节点,同时访问一个共享资源,如数据库、分布式存储; 无序性:进程之间的消息通...
2019-05-05 09:10:18 355 9
原创 【架构】Jenkins构建报错 'Send files or execute commands over SSH' changed build result to UNSTABLE
前言 小编最近在使用jenkins构建过程中,遇到了一个构建错误,解决问题的思路借鉴了一篇博客《jenkins使用publishover ssh插件连接应用机器时,报Message [Auth fail]的问题》,但最终的解决方案是另一种,正是下面的方法。构建报错信息报错信息解决方案-修改密码 上网查询,最终定位到系统配置服务器时,密码可能被人修改过,导致密...
2019-04-26 15:38:24 32416 12
原创 【Java】Spring中 bean方式注册组件
前言 小编最近在深入学习关于Spring的技术知识,这一篇文章主要是来介绍Spring的注解内容,Spring注解注册组件到容器中有以下几种方式。容器与组件如图所示,Spring中的容器和组件之间的关系,通俗地理解IOC容器是管理组件关系的,组件是如何添加到容器中的呢? ...
2019-04-26 08:52:45 298 7
原创 【数据库】mybatis中#{}与${}的区别
前言 小编在系统学习mybatis时,里面提到了#{}与${}两个概念,一个有担当的网站MyBatis中文官网http://www.mybatis.cn/archives/70.html,给出了解答,主要内容如下:两者区别#{}是预编译处理,${}是字符串替换(1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的s...
2019-04-21 17:30:17 1190 13
原创 【Java】idea修改vm系统环境参数
前言 小编在使用idea工具中,需要修改vm虚拟机中的系统环境参数,将系统环境改为Linux系统参数,具体的实现方法如下:修改idea中的vm参数 方法一修改idea项目的配置页面,如下:1. 打开配置页面2.将vm.options 添加一个参数(参数之间用空格隔开)-Dos.name=linux方法二在idea安装包的文件中修改1.打开指...
2019-04-18 17:22:39 8567 6
原创 【架构工具】Windows下 Jenkins安装和配置
前言 小编最近在学习Jenkins的相关内容,它是一款非常高效的项目开发工具,帮助我们在项目开发的过程中,简化流程,提高效率。 持续集成、持续交付是它的特点,使用Java语言进行开发,其中它的安装环境可以是Linux系统,也可以是Windows系统,安装方式利用war包进行线上安装。具体的安装过程如下所示。安装步骤1.在官网下载好Jenkins.war(1...
2019-04-18 15:23:38 536 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人