自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

achang07的博客

人,必须靠自己!

  • 博客(55)
  • 收藏
  • 关注

原创 服务化后各个子服务的组织形式

2020-08-07 17:01:32 179

原创 SpringBoot自动配置注解

2020-07-23 16:54:52 245

转载 分布式技术大纲

1. 分布式架构VS单体架构获益从三个方面来考虑:扩展性;集群规模扩展性;地理扩展性(数据中心);管理扩展性;性能;指标:短RT(Response Time),低延迟,高吞吐,较低的计算资源占用率;可用性;可用性=可用时间 / (可用时间+不可用时间)。考虑容错率,面向失败的设计。2. 分布式八大技术2.1 分布式服务趋势:单体—>多应用;本地调用—>远程...

2019-07-20 18:39:41 436

原创 WC的主从灾备

不晓得目前这种类型的厕纸盒应用范围有多广。我当时看到这个厕纸盒的时候,第一反应就是设计者很有程序员经常提到的主从灾备思想。基于一个假定:保洁工作人员在一卷纸被用完的这个时间段里面都没有发现另一卷纸已经run out了。不纠结那些两卷纸同时用的杠架说辞哈!程序设计中的很多思想都很精妙,如果能拿来架构一部牛逼的小说,想想都很美好!可惜的就是,写了太多程序以后,思维都流程化、理性化,感性部分被...

2019-05-29 18:29:06 278 1

原创 分布式核心要点摘要学习

现在的业务发展进度,单体应用基本要进博物馆了!分布式系统,从设计、到开发、到运维,都让人头大!微服务的理念也越来越普及,对于没有自我研发底层基础设施的中小型企业来说,当前Spring Cloud是个很好的选择。这里就不细究分布式、SOA、微服务这些概念了。先从提到分布式时经常碰到的一些概念说起,进行一个粗略的整理。个人习惯,XMind搞起!1. 分布式相关概念2. 分布式数据3....

2019-05-19 15:23:27 714

原创 Java-LockSupport概览

底层支持Unsafe使用时机需要阻塞或者唤醒一个线程的时候概览

2019-04-14 23:50:09 125

原创 Java-Unsafe概览

使用方式功能说明1. 内存管理2. 非常规对象实例化allocateInstance3. 操作类、对象、变量4.操作数组配合使用,可以获取数组中每个元素的内存地址5. 多线程同步6. 线程挂起和恢复7. 内存屏障...

2019-04-14 23:45:45 164

原创 Spring MVC数据绑定

请求方式:Url后带queryString方式基本基本类型&包装类型基本类型:key必须传,int必须是int类型;包装类型:可以不传key,即可以被解析为null;@RequestParam配置(value,required,defaultValue),可以用别名,可以不传,可以赋默认值;数组Controller方法的参数类型为数组。传递多个key,多个key的名字是一样...

2019-01-16 09:24:57 1650 3

原创 MyBatis学习体系

MyBatisORM框架,通过XML配置或者注解完成对象关系映射。通过配置解析,参数处理,SQL解析,SQL执行,结果映射的核心层,对外提供了SQLSessionFactory,SQLSession接口。提供了事务处理,缓存处理等。github地址教程地址MyBatis-plusMyBatis的增强工具,在MyBatis基础上仅做增强不做改变,为简化开发,提升效率而生。特性:无侵...

2019-01-03 08:59:59 209

原创 React API

学习来源:React中文网址Reactreact是React库的入口。加载React的方式如下:通过<script>标签加载;ES6中:import React from ‘react’;ES5中:var React = require(‘react’);React.Component //React组件的基类,抽象基类;React.PureComponent //与...

2018-12-15 11:40:00 2295

原创 React知识体系

https://react.docschina.org/docs/hello-world.htmlReact是一个用于构建用户界面的Javascript库。特点:声明式,组件化,移植性。关键字:组件Component,状态组件props,应用state,第三方库。JSXJSX是JavaScript的语法扩展。JSX用来声明React中的元素。JSX中可疑使用JavaScript表...

2018-12-09 16:25:18 1283

原创 前端架构知识图谱

对前端一直是个半吊子,一直觉得主要兴趣在后台开发。但是目前全栈化趋势越来越烈了,前台后端的分工界线越来越模糊。日常工作中接到的任务有很大的占比都是前端的开发,这也是应用开发(非底层,非中间件)不得不面对的一个现状。既然如此,那就硬着头皮上吧!其实,所有的东西都经不得深研,一研究入得法门就会发觉其中奥妙,根本停不下来!1. react系知识图谱Facebook出品,var框架里目前应该是最广泛...

2018-12-08 15:29:48 2859

原创 RestTemplate的错误处理

我们的项目属于微服务架构,两个基础的服务分别是网关和认证鉴权服务。 在前端访问后台服务的时候,都经过网关转发,转发之前会进行鉴权认证,根据鉴权结果判断是否可以进行相应的请求转发。问题描述认证鉴权服务中,判断Token对应的人员是否有相应的权限,如果没有权限,返回401状态码并在响应体中传回错误信息。 网关与鉴权服务之间的服务调用通过RestTemplate进行(可以考虑转为Feign做...

2018-06-02 17:22:10 23521 2

原创 前端事务性任务多次请求的问题

项目上线的时候,遇到一个诡异的问题:预上线环境不能复现,生产环境必现。而预上线环境和生产环境最大的区别就在于:预上线是单点应用服务,生产环境则是集群部署。问题描述项目概况:后台采用Spring Cloud生态搭建的微服务体系,前端为Vue框架,做了前后端分离。 日常情况下,都是单节点部署,不过也使用Eureka实现了服务注册和发现的机制,可以通过serviceId访问相关服务。前端请求都...

2018-06-02 15:39:47 2528

原创 Redis学习笔记

虽然在项目中已经使用了Redis,但是用得比较初级,估计也不太合规,完全无法发挥出Redis的巨大威力。因此系统地学习了一下Redis的基础知识,更深入的内容在以后的项目实战中逐步地学习和实践把。NoSQL概述NoSQL,not only sql,泛指非关系型数据库。随着现在互联网技术的发展,传统关系型数据库已经无法满足我们的需求,因此出现了非关系型数据库。而非关系型数据库的种类也纷繁多样...

2018-06-02 14:27:26 237

原创 ElasticSearch全文检索

全文检索最重要的两个方面: - 相关度:根据文档与查询的相关程度对结果集进行排序的能力。相关度可以使用TF/IDF、地理位置详尽程度、模糊相似度或者其它算法计算。 - 分析:将一段文本转换为一组唯一的、标准化了的标记token,用来创建倒排索引、查询倒排索引。 一旦提到相关度和分析,指的都是查询而非过滤!!!基于短语VS基于全文所有的查询都会进行相关度计算,但不是所有查询都...

2018-03-28 15:12:04 665

原创 ElasticSearch之结构化搜索

ElasticSearch结构化搜索是指查询包含内部结构的数据。 日期、时间、数字都是格式化的,它们有明确的格式给你执行逻辑操作。 通过结构化搜索,查询结果始终是“是与非”,是否应该属于集合。结构化搜索不关心文档的相关性或者分数,仅仅是简单的包含或者排除。查找准确值对于准确值,需要使用过滤器。 过滤器很快,不计算相关性而且容易被缓存。term过滤器term过滤器旨在处理数字、...

2018-03-28 13:27:14 921

原创 ElasticSearch的一些概念

ElasticSearch是个天然分布式的搜索引擎,有一些核心概念与传统的数据库知识区别很大,这里做一下记录和整理。分布式相关集群一个集群cluster由一个或者多个节点组成,具有相同的cluster.name,协同工作,分项数据和负载。当有新的节点加入或者删除了一个节点时,集群回感知到并能够平衡数据。 ElasticSearch中可以监控很多信息,有一个最重要的就是集群健康。集群健...

2018-03-28 08:52:43 2713

原创 ElasticSearch初识之Restful

通过curl调用进行学习。需要安装的工具ElasticSearch,由于项目开始使用了Spring JPA,这里先用了2.4.0版本; curl,7.58.0版本,路径加入PATH环境变量;利用URL语法在命令行方式下工作的开源文件传输工具。 cygwin,Windows平台的类UNIX环境,执行curl命令的命令行窗口。curl调用的Restful API格式VERB PRO...

2018-03-27 10:52:55 183

原创 Spring的@Value注解在构造函数中应用的注意点

在改造一个之前的SpringMVC项目,重新使用SpringBoot的架构。 有一个自定义属性读取的转换过程,这里记录一下。SpringMVC下的属性读取项目使用MongoDB数据库,直接使用MongoDB-Driver中的MongoClient进行编程,创建MongoClient实例时,需要主机地址和端口号。 这个主机地址和端口号在开发环境、测试环境、生产环境是不同的,因此通过配置文...

2018-03-02 07:51:26 16462 4

原创 HashMap关键字

概念关键字哈希桶:数组 链表:单链表 红黑树扩容 位运算 哈希碰撞 扰动函数常量定义DEFAULT_INITIAL_CAPACITY:默认初始容量,缺省为16; MAXIMUM_CAPACITY:默认最大容量,缺省2的30次方; DEFAULT_LOAD_FACTOR:默认加载因子,缺省0.75; TREEIFY_THRESHOLD:桶容量阈值,超过则从链表转换为红...

2018-03-01 08:51:06 533

原创 跨域请求的OPTIONS问题

今天在做项目的时候,有一个问题折腾了大半天。 前后端分离的项目,前端独立启动,端口号为1024;后端为微服务架构,前端部署一个网关服务,端口号7001。前后端都启动以后,前端向后端发送请求属于跨域,在登录完成以后前端会设置请求头Authorization将token带入,但是在后端的过滤器中却发现获取不到Authorization。问题定位前端是通过ajax发送的rest请求,将所有可能...

2018-02-26 19:36:21 23716 10

原创 Guava库之字符串操作

Guava是google推出的一个类库,包含了很多个模块,今天先学习一下其中字符串处理相关的工具类。 通过Maven将Guava的jar包获取到本地,同时获取到其源码和doc文档,将doc文档解压打开后对该类库有一个大概的了解。 字符串相关的处理基本都在com.google.common.base包下,而其中与字符串处理相关的类包含如下几个: StringsStrings类提供了一些...

2018-02-08 11:15:14 2953

原创 SpringBoot使用Filter的坑

业务需求背景: 项目采用微服务架构,在各个服务前面配置一个网关,通过SpringCloud生态中的Zuul组件实现。 该网关同时负责页面调度,在各个单页面应用子产品的页面之间进行调度。 ZuulFilter挺有意思,对于本服务的Controller请求不会进行拦截,因此需要针对页面请求做一个认证鉴权的Filter。实现第一版首先实现一个Filter进行鉴权及页面重定向(未登录认证状态

2018-02-07 18:15:08 12760 2

原创 JavaScript数组方法综合应用案例

业务背景: 项目上有一个价格库的概念,对应于某个地区的某个时间段。即:在某年的某个季度或者月份,项目公司会对各个地区建立该地区的人工、材料、机械的价格库。 呈现视图如下: 数据库设计对于上面的业务,由于地区和价格期数是作为字典维护的,有独立的前端模块进行维护,所以需要独立建表。 同时,出于效率方面的考虑,未采用物理外键,使用了逻辑外键,由程序全权保证业务逻辑的正确性和完整性。 最

2018-02-06 09:42:01 2752

原创 mongo-java-driver源码简析

mongo-java-driver是java语言操作mongodb数据库的驱动包,封装了针对mongodb的相关操作。其中关键的接口和类有如下一些:Mongo&&MongoClientMongoMongo是一个MongoDB的数据库连接,内置了连接池。对于大多数应用来说,整个JVM使用一个Mongo实例。 Mongo可以使用单数据库实例,也可以使用数据库集群,在构造实例的时候如果传递

2018-01-26 12:11:57 1814

原创 Spring集成MongoDB

业务需要,某个功能模块需要从原先的MySQL关系型数据库转换为非关系型的NoSQL数据库MongoDB。 之前的项目使用的是传统的SSH架构(Spring+SpringMVC+Hibernate),不像现在流行的SpringBoot,集成MongoDB还是需要做一些配置才能完成。 配置过程中最需要注意的一点在于相关依赖的版本。Spring集成MongoDB的依赖包需要依赖两个包:m

2018-01-25 19:44:49 541 1

原创 MongoDB查询

MongoDB不使用SQL,而使用自己的查询语言。这些查询包括_id查询、限定范围、排序、投影等。

2017-12-13 16:24:23 1458

原创 MongoDB数据库设计

MongoDB本身不强制使用schema,但是我们在做一个服务应用的时候,应该要知道数据应该怎么组织。

2017-12-13 07:49:49 5466

原创 MongoDB的shell操作

学习MongoDB相关的CRUD操作,使用mongo.exe这个shell工具执行相关命令,同时在RoboMongo这个可视化工具中可以看到操作结果。

2017-12-12 12:35:11 289

原创 Spring定时任务小记

在JavaWeb开发中放弃掉Timer,跳过Quartz,使用Spring task。

2017-11-02 15:20:47 250

原创 与授权服务器的对接方案

授权服务器对接

2017-10-23 09:46:21 2157

原创 JavaWeb的Cookie相关操作

Java操作Cookie。

2017-09-21 16:04:45 1577

原创 CATALINA_HOME环境变量之坑

一切都是巧合!

2017-09-01 09:37:12 15488

原创 IDEA建立多模块JavaWeb项目

使用IDEA建立多模块项目,包括两个独立的Web项目和一个公共的子项目。

2017-08-17 17:39:13 8860

原创 帆软自定义数据源实现一张复杂报表

复杂报表格式所做的项目为建筑行业预算背景,预算的复杂度想必大家有一个初步的预估。 如下图所示,为选出来的一张具有代表性的报表: 简单做一下说明: - 第一列的“合计”以上的浅褐色部分是动态扩展的; - 表头的浅蓝色部分是动态扩展的; - 主体部分的白色为一个数据源,与上述两个部分存在交叉; - “合计”右边的黄色部分也为一个数据源,与第二个部分存在交叉; - 主体的白色部

2017-08-16 18:59:51 4954

原创 帆软报表控件嵌入式部署+MongoDB程序数据源

帆软报表控件很强大,组内刚刚购买,正在熟悉和学习过程中。

2017-08-07 10:18:37 2216

原创 使用Nexus搭建Maven私服(二)

Nexus私服搭建完成以后,接下来要做的就是在Maven项目中使用搭建的私服。

2017-08-02 09:42:58 321

原创 使用Nexus搭建Maven私服(一)

由于现在的项目需要使用第三方的jar包,而项目是Maven管理的,如果将jar包放到项目下的lib文件夹下,与Maven的管理不一致或者冲突,因此考虑使用Nexus私服方式对项目所依赖的jar包进行管理。

2017-08-01 19:50:16 409

原创 Net::ERR_INCOMPLETE_CHUNKED_ENCODING问题跟踪

项目中遇到的问题:net::ERR_INCOMPLETE_CHUNKED_ENCODING。问题定位过程及相关知识总结。

2017-07-21 09:18:43 78286 4

空空如也

空空如也

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

TA关注的人

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