自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

该怎么解释?我懒得解释

我们。。。读书吧。。。少玩一会儿游戏。。。早点洗洗睡。。。

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

原创 java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明

文档说明截止日期:20170905,作者:何红霞,联系方式:QQ1028335395、邮箱:hehongxia626@163.com综述自6月份以来,有幸加入到javaEE技术体系的研究与开发,也得益于大家的帮助和组织的支持,取得了一些有突破性的成果。我个人主要研究的内容是:API生命周期治理。整篇文档,均围绕着API的整个生命周期管理,进行说明。侧重点为:设计、开发、维护、安全策略

2017-09-06 08:28:50 1870 2

原创 java EE技术体系——CLF平台API开发注意事项(3)——API安全访问控制

前言:提离职了,嗯,这么多年了,真到了提离职的时候,心情真的很复杂。好吧,离职阶段需要把一些项目中的情况说明白讲清楚,这篇博客就简单说一下在平台中对API所做的安全处理(后面讲网关还要说,这里主要讲代码结构)一、宏观概况第一点:系统是按照Security规范,通过实现OAuth2.0协议安全控制。关键词理解:JWT:JWT,JWT 在前后端分离中的应用与实践规范:Securit

2017-09-04 16:28:47 1071 4

原创 java EE技术体系——CLF平台API开发注意事项(2)——后端测试

前言:上篇博客说到了关于开发中的一些情况,这篇博客主要说明一些关于测试的内容。一、宏观说明要求:每一个API都必须经过测试。 备注:如果涉及到服务间调用(如权限和基础数据),而对方服务不可用时,马上索取对方服务API,自行构建mock service(嘿嘿,小伙伴们都懂得,咱家做mock service的速度很快哈)工具:Arquillian 备注:和以往测试

2017-08-31 10:37:57 1045 7

原创 java EE技术体系——CLF平台API开发注意事项(1)——后端开发

前言:这是一篇帮助小伙伴在本次项目中快速进入到java EE开发的一些说明,为了让同组小伙伴们开发的时候,有个清晰点的思路。昨天给大家演示分享了基本概况,但没有留下文字总结说明,预防后期有人再次问我,特写此篇博客!本篇博客的结构主要分为两个部分:第一个是关键执行点,也就是在项目中,每个人都要去做去注意的;第二个是其他注意点,这个部分是一些大家提到的问题

2017-08-30 12:19:27 805 2

原创 相信自己、相信未来—2017半年总结

前言: 2017年以来,发生了几件大事。第一:更愿意为大家做事;第二:思维方式和学习能力发生了巨变;第三:更加的积极乐观,主动更新自己;第四:我脱双了。

2017-08-27 17:02:13 1197 10

原创 API生命周期第三阶段:API实施:使用swagger codegen生成可部署工程,择取一个作为mock service

在分享培训了swagger对于API的设计之后,有一些人问我说:你看,现在咱们前端使用web_API做为mock data在进行测试,后端也有mock 测试。然后我们再进行联调,这之中肯定会出现一些偏差。有没有一种方案是:前端不用写mock数据测试,从一开始,就由后端提供一个在线运行的服务,以此减少后期联调的工作量! 答案是:可以!当然,在最开始,由于我近期在做API网关的一些工作

2017-08-21 17:56:11 5649 6

原创 API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

这篇博客,主要是宏观介绍一下开发模式,尤其是针对于目前公司前后分离的项目!一、API实施模式概述API实施模式,主要是三个,其中API-First又是作为一种指导思想的一种,所以,简单来说事实实施模式就只有两种。(允许我直接使用我的PPT哈)然后,简单说一下区别:对比这两种模式的区别,就会很明白我前面有篇博客中提到的公司目前前后分离所面临的一系列困惑。

2017-08-21 17:00:07 729 4

原创 API生命周期第二阶段——设计:如何设计API(基于swagger进行说明)

一、题外话在新的项目中,推行了swagger用于对API的设计。以期待解决我们上篇博客中说到了一些现象,提升工作效率。那么,结合到当时和全项目组成员做培训,以及后续的给主要应用者做培训,以及当初自己接触到swagger的时候,我简单总结一下如何设计一个说“人”话的API(主要指rest API)。备注:哈哈,又托大了哈。就在我决定写这篇文章的时候,我特意到百度搜了一下“如何设计API”,额

2017-08-13 08:56:16 749 2

原创 API生命周期第二阶段——设计:采用swagger进行API描述、设计

本篇博客主要是以swagger为依托,介绍API生命周期的第二个阶段——设计!在详细介绍之前,我必须声明一点:如果是想了解swagger和项目框架的集成的,这里没有。我要介绍的swagger进行的API描述,还处于API设计阶段,没有到第三阶段的实施呢。但如果你想了解各种集成,建议你直接百度,很多实例。一、一些场景1,在开发的过程中,老是有人问你服务的地址。关于服务的调用地址,说了一遍又一

2017-08-08 12:52:06 1220 10

原创 API生命周期

API生命周期通常包括八个内容,而安全策略贯穿始终。1,计划准备、语义:如何询问自己的服务?它支持什么字段,哪些字段是可过滤的?如何仅通过过滤和排序获取所需的信息?在不同场景中的JSON响应???等等。架构、风格2,设计规范、原型、模拟服务在后续的博客中,主要介绍API设计的工具,以及模拟服务测试。主要以swagger为主(现在很多人在项目中继承swagger用于生成A

2017-08-07 21:27:22 2400 6

转载 API经济时代的思考(转载目的:为之后写API-first模式的生命周期治理做准备)

原文地址:API经济时代的思考    感觉这篇博客还不错,个人赞同其大部分的内容,借鉴参考一下,懒得自己写了(关键是不一定能轻松写得更好,嘿嘿,偷懒啦)接下来会写关于API经济的概念下,如何进行API开发、生命周期监控、治理等等内容摘要: API经济已经成为各行业中驱动—数字化、信息化变革的主要力量,通过API可以该整企业合内外资源,同合作伙伴相互弥补服务场景,发展新的业务以满足市

2017-08-05 21:51:35 1330 3

原创 【Mysql 优化 6】mysql优化的内容和思路

根据最近做mysql优化,以及参照的官方文档的一些知识点,总结一下,如何下手去优化mysql 数据库。PS:更多可能是我个人的笔记总结记录,仅供参考一、优化的内容可以优化的内容,从范围的大小,可以从软件、硬件,到具体的场景实施。大概总结了可以优化 的内容,现在来看,优化的一般思路:二、优化思路总得来说,就是范围从大到小,逐步做减法排除。三、总结m

2017-08-05 18:53:45 423 3

翻译 【mysql 优化 5】左连接和右连接优化

原文地址:8.2.1.8 Left Join and Right Join Optimizationmysql以下列方式实现一个A left join B 连接条件:1,表B设置为依赖于表A和A所依赖的所有表2,表A设置为依赖使用left join条件的所有表(除了B)3,left join条件被用于决定如何从表B中取数据行(换句话说,不使用WHERE子句的任何条件)4

2017-08-05 09:00:39 7210

翻译 【mysql 优化 4】嵌套连接优化

原文地址:Nested Join Optimization与SQL标准相比,table_factor的语法被扩展。后者仅接受table_reference,而不是一对括号内的列表。如果我们将table_reference项目的列表中的每个逗号都视为与内部连接相同,那么这是一个保守的扩展。例如:SELECT * FROM t1 LEFT JOIN (t2, t3, t4)

2017-08-05 08:38:48 1328 2

翻译 【mysql优化 3】嵌套循环连接算法

原文地址:Nested-Loop Join Algorithmsmysql在表之间执行连接操作,包括了使用循环嵌套算法或者其他在此基础上的变形。循环嵌套连接算法:一个简单的嵌套循环连接(NLJ:nested-loop jon)算法,每一次运用一个循环从第一个表里读取行,通过每一行去嵌套循环连接第二个表。这个过程被重复了多次,因为还有剩余的待连接的表。假设使用以下连接类型来执

2017-08-02 21:10:53 5060 3

翻译 【mysql优化 2】索引条件下推优化

原文地址:Index Condition Pushdown Optimization索引条件下推(ICP:index condition pushdown)是mysql中一个常用的优化,尤其是当mysql需要从一张表里检索数据时。 如果没有ICP,存储引擎将会根据WHERE子句的条件遍历整个表单数据,然后返回给mysql服务器。启用ICP,如果可以通过使用索引的列来满足WHERE条件,

2017-08-02 20:41:04 3118 1

原创 Mysql读写分离实例

吐槽:前天刚加完MQ,这回加读写分离。我也是醉了,但是弄完之后,就发现,似乎没我想的那么复杂,真的!另外,昨天试了一下用swagger编写API文档,太方便了,加上Mock service测试。这两天都好忙啊,忙着优化项目,忙着写接口,不过,再忙的日子,也得写总结!今天,主要是记录一下,往项目中加读写分离的过程。1,mysql数据库安装,不说了。主从配置,也不说了。有需要的,请宝宝吃饭,宝宝手

2017-08-02 16:12:19 683 4

原创 Tyk-Hybrid模式安装—抽象方法论,重用它

最近,公司有计划运用API网关。那么,在经过权衡之后,使用了Tyk的Hybrid模式!现在环境没问题了,API调用也测通了。我得想想合并服务,监控API实时情况的东西。但在这个环境搭建的过程中,我目前做以下总结思考:一、过程描述首先,我是按照官方文档去执行的,但是,我一次又一次的失败了。然而,我并没有找到我的步骤和官方文档有出入的地方。那么,到底发生了什么????其实,都很简单的。就是

2017-07-30 21:54:18 856 9

原创 【设计模式 7】从公司的目前框架和API Gateway,谈谈对外观模式的理解

我,第一次用到外观模式,应该是3年多以前。那时候是做一个收费系统,在当时的U层和B层之间,加了一层Facade。当时,在一些复杂的业务逻辑处理时,感受到了加入外观层的好处,但对于一些简单的(我指的是,当时很多facade里面的方法都只是简单的返回了B层的方法执行结果)业务,总感觉是没有必要了。那么,外观模式,究竟可以发挥出多大的威力呢????一、目前的框架后来,在项目的开发中,用到的设计模

2017-07-25 10:15:22 5572 17

翻译 SpringMVC对于跨域访问的支持

一、简介出于安全原因,浏览器禁止Ajax调用与当前资源不同源的外部资源。例如:如果你正在一个窗口检查你的银行账户,那你可能会遇到这样的错误:com网站在另一个窗口打开。这是一个错误的脚本。因为com不应该让Ajax使用你的凭证请求到你的银行API(例如:从你的银行账户提现)。Cross-origin resource sharing(CORS) 是一个大多数浏览器对W3C规范的实现,它允许

2017-07-18 10:12:42 6460 15

翻译 【mysql 优化 1】优化概述

数据库性能取决于几个数据库层面的因素,比如:表设计,查询语句,配置。 这些软件结构导致你必须在CPU和I/O 操作的硬件层面做到尽可能的最小化和高效!当你关注于数据库性能时,你需要了解软件层面更高层次的规则和指导建议,并使用wall-clock去测试性能。 而当你成为一个专家时,你更多需要了解的是内部到底发生了什么,并且测试一些东西,包括:CPU和I / O 操作。一般用户希望通过配置

2017-07-16 20:02:52 402 9

原创 Jeddict:从服务器的验证过程,思考学习新事物的套路

结合一路研究Jeddict使用的过程经验来看,在这里说一下关于服务器配置的东西。在我们团队,最开始用这个插件的时候,因为公司用的应用服务器是Jboss EAP 7,所以,我们自然而然的,想当然的直接使用了公司常用服务器去部署,结果出现了一系列的问题。后来虽然解决了,结合到和Jeddict作者的交流,需要总结一下学习新事物的套路!一、问题1,无法部署2,无法调用3,无法创建权限默认表

2017-07-10 09:19:42 671 15

原创 Jeddict:怎样在window系统下,成功打包Angular

在Jeddict的应用过程中,发现了一个问题。如果前端视图选择Angular(具体版本,需要根据插件版本确定。此处理解为非Angular JS),那么在自动构建的过程中,会发现,每当在安装NodeJS和Yarn的时候,总是安装失败,从而导致打包失败!现,公布此问题的解决方案!一、解决过程1,首先是列举一下常见的几个问题第一个:maven版本不够,选择Angular的时候,引入了

2017-07-09 21:20:46 582 13

翻译 【异常 2】捕捉或抛出异常的条件

有效的Java编程语言代码必须符合Catch或指定要求。这意味着可能引发某些异常的代码必须由以下任一种形式表达:* 使用try 语法去捕捉异常。这个try一定会为异常提供一个异常处理程序,这个过程,被描述在:异常的捕捉和处理 (PS:目前的链接指向原文地址,翻译完成后,修改为译文地址)

2017-07-03 11:08:46 1070 13

翻译 【异常 1】什么是异常

定义:一个异常是在运行程序时,所遇到的一个事件,而这个事件破坏了程序执行的正常流程!当在一个方法中遇到错误时,这个方法创建一个对象,并操作这个对象进入运行时系统(创建并移入运行时系统的这个过程,叫做抛出一个异常)。这个被创建的对象,叫做异常对象,它包含的信息有:错误(程序所遇到错误的类型、状态)。在方法抛出一个异常后,运行时系统试图去找到一些东西去处理它。而处理异常的“一些

2017-07-03 09:46:15 739 15

原创 Jeddict研究过程中的总结

一、与作者交流的总结说来也是惭愧,没有太多的经验,先给大家贴两张图,看看大家能不能发现问题:在最开始的时候,都处于Gaurav Gupta让我给材料的过程,因为我不是缺这个就是缺那个,根本说不清楚问题。然后交流的效率不是很高。我们能通一次邮件解决一次问题,是从我开始这样回邮件开始:首先我是在邮件正文中加以问题描述,然后在附件中附录了以下信息:当我有意识到我并

2017-07-02 21:47:50 651 11

原创 Jeddict目前的使用现状

一、为什么使用jeddict工具:提升生产力的工具:创建并部署一个CRUD服务系统,只需要5-10分钟规范:生成的代码,都是稳定可执行代码(前端自动使用selenium框架测试,后端使用Arquillian框架测试)成本:学习成本极低,扩展自定义业务服务极其方便。PS:对于更深入研究代码所涉及到的技术栈,对语言有要求(英语,至今为止,除了本宝宝翻译的中文文档,全是英文。不过,有需要的话

2017-07-02 21:04:28 819 14

翻译 Jeddict1:简述

一、什么是Jeddictjeddict是一个开源的图形化工具,通过简化复杂实体关系模型的建立,极大程度上提升了开发效率。Jeddict可以帮助程序员建立JPA class, 可视化的数据库连接和修改、创建,以及自动生成Java EE8 的代码!Jeddict 同时提供正向和逆向的生成方式,你可以选择从数据库表建立模型,也可以通过模型建立数据库,从而生成复杂的SQL/DDL等。关键词:可视化

2017-06-29 17:55:59 885 15

原创 配置CORS解决跨域调用—反思思考问题的方式

导读:最近都在用一套完整的Java EE的体系做系统,之前都是用spring框架,现在弄这个Java EE,觉得新鲜又刺激。但,由于之前没有过多的研究和使用,在应用的过程中,也出现了不少的问题。累积了好几个,现在开始一一进行总结分享。这篇博客,主要是分享CORS解决跨域调用的过程一、问题的出现由于我们在项目中使用了一个很牛掰的插件Jeddict,然后除了逻辑性的代码,其他基本的代码

2017-06-25 11:39:43 4131 14

原创 FTP的搭建过程,以及遇到的坑

在之前的博客中,我有说到,我最喜欢用Yum在线安装的方式安装软件,简单省事儿。现在看来,也不尽然,关键是,无法快速找到我要的文件,整个whereis 也很累。所以,现在觉得,还是乖乖的整个压缩包,自行安装比较和我心意。首先,要用到的压缩包列表:libfastcommonV1.0.7

2017-06-18 21:34:43 1844 9

原创 为什么要搭建独立的图片服务器

导读:最近,很少写博客了哈,呃,其实,我是个懒人。说说我写这个图片服务器的前因后果吧,我本来是不想写的,因为自己的水平在那儿了,写也写不明白,何必献丑呢???然后,本宝宝被Jimmy批评了,说我就不能多学点,让我搭个图片服务器,就知道去找运维的。好吧,刚好前两天有人问我为什么现在又要在项目里用Fastdfs,本宝宝似乎除了献丑,就只剩下献丑了!这篇博客,先根据个人的理解和在项目中的使用

2017-06-17 10:13:38 23201 18

原创 JS进行人民币大小写转换

//数字金额大写转换(可以处理整数,小数,负数) function upDigit() { digit=$("#digit").html(); n=digit.replace(/\,/g,''); var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆',

2017-05-22 08:27:44 3127 7

原创 JQuery常用的HTML页控制取值、赋值

1,关于tab页签获取当前页签的属性:var tabsSelect=$("#easytabs").tabs("getSelected"); var title=tabsSelect.panel('options').title;//获取面板标题 新增一个页签: function add_Page(){//常规库存-我申请调剂的车辆 var title=

2017-05-04 18:01:59 1155 6

原创 在springmvc中使用@PathVariable时,应该注意点什么?

导读:近来在做库存调剂系统时,我从前台到后台的传值方式,主要包括:1个,用@PathVariable或者@RequestParam从路径取;大于一个,用于更新或者添加操作的,我用的是表单实体传到后台;大于一个,用于查询的,我用的@RequestBody(好吧,我承认这个只是我觉得好玩,但没有多少人愿意在后台一行又一行的写:String test=request.getParameter("test

2017-05-04 09:41:13 30729 16

原创 2017年4月份工作总结:要在贫瘠的土壤里,种出一朵花来

一、总体概况说是4月份,但我还是从我正式进入新项目开始说吧。进入项目之前,我有两天生不如死的考核期,那两天,简直毁三观了。以致于,改变了我现在编码的习惯和学习引用别人代码的习惯。三月份的总体情况(去除无任何业务涉及的两天技术考核期,三月份一共工作了6天)具体情况:半天了解系统业务需求,半天熟悉框架代码,然后开始写功能!到三月底的时候,我是完成了5个页面的设计和查询(实在无力吐槽

2017-05-01 13:21:11 1114 11

原创 我本不属于人间—献给全世界最伟大的女性

我本不属于人间—何红霞—Angelina我本不属于人间是你的坚持和忍痛将我从不知名的地方带来这有时并不美好的有你的地方我本不属于人间有时觉得自己是个闯入者与这里的一切 格格不入不被欢迎 不被拥抱是你的叮咛和呵护让我从一个孤独的黑暗的世界中找到一束永不熄

2017-03-19 16:37:53 1191 8

原创 MySQL可供选择的存储引擎

备注:以下关于5.7版本的内容是来源于官方文档:https://dev.mysql.com/doc/refman/5.7/en/storage-engines.html以下关于5.6版本的内容,一部分来源于自己使用过程中的经验总结,一部分来源于:http://www.w3resource.com/mysql/mysql-storage-engines.php本来应该标记为译文比较合适,但中间又

2017-03-17 15:11:39 790 5

原创 谈谈序列化—实体bean一定要实现Serializable接口?

导读:最近在做项目的过程中,发现一个问题,就是我们最开始的时候,传递参数包括返回类型,都有map类型。但是由于map每次都要匹配key值,很麻烦。所以在之后就将参数传递和返回类型全都改成了实体bean,并且让每个bean都实现了Serializable接口。然后,在这里的时候,就有点疑惑。首先:为什么要进行序列化;其次:每个实体bean都必须实现serializabel接口吗?最后:我做一些项目的

2017-03-13 17:38:27 37807 39

原创 springMVC 引入静态资源Js的方式

前两天项目出现了Js无法引入的情况,本篇博客先总结分析+批判自己犯的低级错,再说说几种访问静态资源的方式!首先,由于在web.xml里面的servlet拦截匹配为/,所以,默认的时拦截所有请求。当项目访问引入的js文件,其实也是在服务器上,根据文件目录加载js文件。我那个为什么就没引进去呢?首先,我把script文件夹放在了WEB-INF文件目录下,所以。。。。。。。也就呵 呵了以下介

2017-03-05 16:43:54 3010 7

原创 springmvc始终跳转至首页,不报404错误(续)

上篇博客说到,当我执行程序时,springmvc的控制下,它始终跳转到首页,而不正常跳转。当时通过换一个服务器解决了问题,以为是缓存的事儿。但后来又发生了同样的事儿,顿时感觉出事儿了。就立马降低了日志输出等级,一看,果然有问题。虽然目前还没有解决,只是有一些思路,不过,也写下了记录一下!一、程序的简单概述页面打开,是加载到一个列表页,然后通过点击列表页的链接按钮,跳转到详情页。在详情页中,

2017-03-05 15:47:47 1197 6

空空如也

空空如也

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

TA关注的人

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