- 博客(149)
- 收藏
- 关注
原创 Spring Cloud - Ribbon
在我们常用的微服务架构中,一般有两种实践方法:基于dubbo的微服务架构、基于SpringCloud的微服务架构。从概念上来讲,Dubbo和SpringCloud并不能放在一起对比,因为Dubbo仅仅是一个RPC框架,实现Java程序的远程调用,实施服务化的中间件则需要自己开发;而SpringCloud则是实施微服务的一系列套件,包括:服务注册与发现、断路器、服务状态监控、配置管理、智能路由、一次
2017-08-30 23:42:56 600 1
原创 redis的使用场景
现代开发场景中,如果说让我们举例几个最重要的应用服务之一,redis一定占据了非常重要的席位。其巧妙的功能设计和丰富的数据结构,为我们提供了重要的场景业务实现。 下面我们就介绍一下,redis的一些比较常用的应用场景。 我们都比较清楚的知道,redis支持五种数据类型,分别是string,set,zset,list和hash。 String Stri
2017-08-30 21:33:16 684 3
原创 Spring Boot,找不到数据库?
今天在实现一个小demo的时候,被一个找不到数据库的问题坑了好久啊啊啊啊啊啊,记录一下,以后做事情一定要认真;另外,知识的掌握一定要扎实牢靠。 1、看起来很简单的问题 简单描述一下背景: 使用Spring boot创建一个服务提供者,选取了web,jpa,h2等进行简单支持。 由于是个demo级别的,所以也没有配置本地h2,只是配置了建表语句和数据sql,但就是这几
2017-07-30 23:29:58 4190 1
原创 spring cloud初识
作为当前最流行的框架体系之一,Spring给广大的中小企业带来了十分方便的福音,而一名不断追随时代和技术进步的dveloper,也一定要掌握Spring的技术开发手段。 之前的一段时间,学习了Spring Boot的基础知识,对于高级应用,还需要在实际的生产实践中步步为营或通过其他手段继续深入了解,在此先不多说。由于微服务的盛行,包括当前公司也是不断在进行微服务方面的实践和优化,对http
2017-07-30 19:08:45 558
原创 分布式系列 单点登录和session共享实现
上篇文章简单的描述了下单点登录的场景和解决单点登录问题的几套方案。 本文将从具体实现层面剖析如何实现SSO和session共享。
2017-06-30 22:53:04 7437 1
原创 分布式系列 单点登录和session共享
最近跟组织一起学习,本来说好的学习大数据,不知道怎么的,忽然一看材料,莫名转战到了分布式,搞起了高级架构的知识了。 看了看故事的梗概,还不错,从基础的分布式调用和架构设计,再到事务一致性,HA,到web应用,数据库高可用和性能优化等一系列,也算是有一个很不错的体系,就计划坚持着学下去了。 在学习分布式系列之前,曾经也花了一段时间了解过单点登录和Session共享的问题,只不过当
2017-06-26 02:15:08 19714 6
原创 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,
2016-07-31 23:59:46 704 1
原创 分布式两阶段提交和三阶段提交
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。 为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。本文主要介绍关于分布式事务,二阶段提交和三阶段提交。在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些
2016-07-31 23:59:26 18174 8
转载 京东前端工程化和静态资源管理全面总结
随着互联网的发展,我们的业务也日益变得更加复杂且多样化起来,前端工程师也不再只是做简单的页面开发这么简单,我们需要面对的十分复杂的系统性问题,例如,业务愈来愈复杂,我们要如何清晰地梳理;团队人员愈来愈多,我们要如何更好地进行团队协作;功能愈来愈多,我们要如何保证页面的性能不至于下降,等等。所有的这些都可以归结为如何提升开发体验和性能问题。提升开发体验 我们主要从以下
2016-07-31 23:48:29 4492 2
原创 MySql数据库引擎分析
作为程序开发人员,mysql的使用肯定是我们的家常便饭了。但其中蕴含的大量机制和优化策略是我们需要不断学习和探索的。 今天,我们来分析和讨论关于mysql的引擎。 1、各类引擎简介: 首先,在安装数据库时,默认会应用MyISAM引擎,此时的mysql同时支持ISAM、MyISAM和HEAP。而另外的两种类型,INNODB和BERKLEY(BDB),也可以在需要时,进行
2016-07-31 22:47:34 1007 1
原创 浅谈Ajax的优缺点
AJAX (Asynchronous JavaScript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验。完全的AJAX应用给人以桌面应用的感觉。正如其他任何技术,AJAX有它自己的优缺点。下面我列出了一些重要的场景,你在基于web的应用的开发中使用时一定要注意。AJAX的优点 1、改善的用户体验- AJAX提供的更丰富的用户体验是其主要优点。AJ
2016-06-30 21:54:07 867 1
原创 如何使用 QUnit 进行 JavaScript 单元测试
一、QUnit简介 我们做后台开发过程的工程师,毫无疑问,都用过NUnit或JUnit对我们的类或方法进行过单元测试。但对于十分重要的JavaScript,却很少进行。 而QUnit是一个强大的JavaScript单元测试框架。他可用于jQuery,jQuery UI和jQuery Mobile项目,以及任何使用JavaScript代码编写的项目的测试。较好的
2016-06-28 20:27:52 794 2
原创 TCP/IP、Http/Soap协议-基本认识
写这篇文章的起因是在工作中开发接口,用到了Soap协议。关于为什么用Soap,以及它与常常听到和接触的Http协议、Tcp/Ip协议有什么关系,还需要进一步认识。 1、首先,先分别介绍一下三种协议的基本概念吧、 参考百度百科: HTTP,超文本传输协议。它是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布
2016-06-28 19:50:53 6906 2
原创 工作笔录(二)
来到国网,距离我们上次的工作笔录,,已经不声不响的又过去一个多月了。那么这四十来天又发生了什么有意思的事情呢? 1、前情回顾 读过 工作笔录(一)的众亲可能会说,啊,(一)里边作者简直像个愤青~ 细细看来,也有那么一丢丢意思哈。不过,软件工程是一门科学,已经有了比较成熟的科学方法论和指导思想。在实践过程中更是万万不能马虎的,所有的科学开发方法、代码质量规范、性能提
2016-06-28 14:12:39 678 3
原创 工作笔录(一)
时间:2016年5月31日23:28:52 一个很不幸的时间,已经十一点半了。 一个很幸福的时间,可以在夜深人静的时候回味生活。 我不愿称之为人生,虽然我并不是诗人。 听起来怪怪的,望大家看完文章再~ 那个谨慎吐槽…… 第一次进入国家级部门进行开发,就不说是什么公司了,咱们今天只聊聊在这里工作的感受和想法。 一、外:
2016-05-31 23:46:46 914 5
转载 Spring DI基础
S之前包括面试也好,自己学习也好,对关于Spring的认识都不深入,只是比较大概地了解基本内容,即依赖注入和控制反转。深入的机制还需要好好学习,正好我们这次项目也使用Spring管理的,这次转发一篇关于Spring的基础性文章,为我自己和读者都铺垫一个基础~一、Spring简化Java开发Spring Framework是一个应用框架,框架一般是半成品,我们在框架的
2016-05-31 23:26:39 702 2
原创 web程序中全优化(二)之 提高你的JavaScript效率Tips
来国电快两个月了,开始了新的需求侧项目,不过不幸的是新的项目依然很忙…… 由于空不出时间,这个月写的学习笔记也不多,估计再有两周,就忙完最苦X的时期了,不过每天晚上依然是尽量保留一段时间夜读,也算是没辜负这漫漫长夜… 好了,闲话可有不宜多,下面我们来具体介绍,在项目实践过程中积累的关于JavaScript的一些好的用法,希望对大家有所帮助~ 1、 如果js文件没有特殊
2016-05-31 21:33:14 640 3
原创 web程序中全优化(一)之 提高用户体验度Tips
在实际的网站项目建设过程中,用户体验度的设计是非常重要的。一个网站无论你后台系统如何健壮、如何高可用、可扩展等,没有一个良好的页面UI设计也是很难吸引到用户的。 因此,当前的互联网Time是一个“靠脸和脑吃饭”的时代。 在这种要求下,用户体验就显得非常重要了。用户用的舒适、方面,以更少的操作,实现更多想要功能的完成,是我们开发设计人员追求的最大目标之一。
2016-05-31 20:28:52 1911 2
原创 Echarts简介
原来做项目的过程中,无法避免的要用到图表服务,但实现出来的效果大都不是很美观。这次在国网开发,我们用到了一个新的开源图表设计工具-Echarts。
2016-04-30 21:53:55 19234 3
原创 SQL集萃(一) Case…When…Then 实现无表字段拼表格
开发过程中,由于自己的sql经验不足,而有些问题通过搜索描述起来又比较复杂,或者问题与结果文不对题,因此写该系列博客,希望通过不断的积累为自己和读者提供一些参考。 业务需求:查询2015年全国、全行业的某终端在用个数、最大负荷、用电量和终端覆盖率。 详细描述:结果以表格形式显示,“全国”列均显示“全国”;行业分为八大行业,该列显示各行业名称,如化工、冶金等;
2016-04-30 20:36:53 2663 5
原创 Redis 与 Memcache比较
引子:传统MySQL+ Memcached架构遇到的问题 MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,会遇到很多问题: 1、MySQL需要不断进行分库分表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 2、Me
2016-04-30 19:54:51 562 2
原创 面试那点事儿
四月份开始到四月11日入职,自己也面试了四家公司,不算多,但也算是有了个经历吧。 这次就来分享一下我的四次面试感受,也算是两家欢喜两家愁吧。 第一次,已是悬崖百丈冰。 第一家面试的是“SH证券”,很明显,一家证券公司。 这类公司提供的服务大都是数据和报表服务,所以注定他们无法使用封装良好的数据访问层业务框架,比如Hiberna
2016-04-30 16:01:23 838 7
原创 网站 首页那点事儿(一)
做了Jrkj这个项目后,确实收获良多。由于项目1.0刚刚完结,还未正式上线,就不以该项目的实际面貌来为大家展示了。但这丝毫不影响我们接下来的首页技术分享~ 本篇文章我们以淘宝为例,主要讲首页的实现机制及提速方式。 首先,我们来看淘宝首页:首页 或 看下图: 我把页面上能看到的主要部分划分了四个区域:类别菜单
2016-03-31 12:48:45 637 2
原创 Array、List、Set、与Map
最近经历了几次面试,发现Java基础还是很重要的,所以好好弥补之前遗留的漏洞还是很有必要的。基础不牢固,就会越来越浮,无法走的深入。 这篇文章,主要总结了映射、集合等容器的相关联系与区别,会有比较透彻的分析,聪明的你看了定会过目不忘~ 1、首先 ,我们来分析Array数组。 Array数组通过下标来实现操作,速度快、效率高,但我们无法判断其中有
2016-03-30 21:54:57 718 3
原创 分析Servlet、Filter、Interception和Listener
在实际的Java开发过程中,Servlet、Filter、Interceptor和Listener是经常会被用到的,这篇文章,我们以图文的形式来形象具体地分析一下这四项内容。 1、Servlet 简介: 首先Servlet是一种服务端的Java应用程序,运行于客户端请求和服务器相应的中间层。它和jsp本质上是一种东西,只不过jsp是Servlet中分离出
2016-03-30 20:55:47 1339 2
原创 Struts1与Struts2
Struts1就不多说了,它遵循并实现了MVC的设计思想,在传统的SSH架构中体现着至关重要的作用。 今天我们主要说说Struts2,并简单对比一下Struts1和Struts2,供大家学习和参考。
2016-02-28 11:10:13 705 4
原创 解决System进程占用80端口
项目开发管理端后台程序,要换成JFinal框架,在搭建Demo框架完成后,Run As 项目中的Config文件后,提示80端口被占用。 好了,问题简单粗暴,解决80端口就OK了。 真的简单?Really粗暴?No! 下面是复杂的解决过程…… 1、先看看什么是80端口,它和8080、8001等端口有何区别? 80端口是为HTTP(HyperText
2016-02-27 20:11:57 43703 11
原创 年终总结-从内向外转变的日子里 2015.7-2016.2
之所以主题定为由内向外转变的日子里,主要包含以下几个方面。 1、性格和思想状态的由内向外;2、学习向工作的由内向外;3、家庭成员身份由内向外的转变。 这三块内容包含了很多,我觉得最主要的还是总结为两个字--成长。 先谈第一点,性格和思想状态的由内向外。 我的家人和之前的朋友都比较了解,之前的我是很内向的,觉
2016-02-26 17:32:20 762 9
原创 系统学习SSH(一)--SSH
SSH框架发展有了不短的时间,但仍然是当前各公司的主流应用框架之一,下面来具体分析一下它的基本结构,有何好处。 SSH是Struts+Spring+Hibernate的集成框架。它在职责方面分为四层:表示层、业务逻辑层、数据持久层和域模块层。 实现思路:Struts作为系统的整体基础架构,负责MVC分离,在Struts框架的模型部分,控制业务跳转;Hibernate对数据持久层
2016-02-26 11:25:32 2107 1
原创 Linux配置nginx图片服务器+ftp服务器
由于要实现图片上传,且服务器都要用阿里云的,Jboss也在Linux系统上,就采用了Nginx和FTP(也可采用nginx+NFS)。 本篇博客主要介绍搭建Nginx和FTP的基本过程,部分简单且过细步骤从略,众亲自行百度即可。 1、搭建Nginx (1)下载安装包,安装,Linux下安装nginx,需要先安装Gcc编译器、PCRE库、zlib库
2016-01-27 23:40:32 13638 25
原创 uploadFile+nginx实现上传图片(Windows/Linux均可用)
上传图片的功能想必并不是什么费劲的事儿了,但大多数童鞋都是在本机(也是tomcat/jboss服务器)实现上传,且没有考虑图片重命名(中文乱码)的问题。 这篇博客的上传图片是基于真实的项目,且采用了nginx图片服务器,Windows和Linux服务器均可使用。 Jsp页面:需要一个file控件,一个hidden控件(用于建立自定义分类文件夹)和一个button(上
2016-01-27 21:54:14 12793 3
原创 考考你的页面跳转
这几天项目中遇到了一个页面跳转问题,这又是由传值问题引起的……好吧,先介绍背景(>﹏<)。 要实现这样一个功能:我要最终跳到一个综合查询页面,有以下四种途径:在首页上方的搜索框输入姓名,跳入该页面并查出这个人的相关信息;在首页导航栏点击一级/二级领域跳入该页面并查询出该领域内人员的相关信息;直接点击页面链接,跳入该查询页。 显而易见,最后一种途径最简单,也不是今天的谈资~
2016-01-27 21:26:58 861 3
原创 你的Eclipse是否能顺利进入调试 ?
说来惭愧,项目进行了三分之二后,Eclipse出了点问题,第一个问题还比较能接受,当然,是对于像我这种“能忍”的人来说~ 第二个就糟透了,简直不能忍! 之后给大家说明。 比较巧的是,这第二个问题的答案完美的解决了第一个问题…… 好了,下面说一下这两个问题。 问题一:项目Debug后,会进入一个无关紧要的断点,之后需要一直按F8(F5直接报错Source无法找到),才能开始断点
2016-01-26 23:52:13 1158 3
原创 log4j(二)将日志写入数据库
大家知道,有时候日志会记录一些很重要的信息,而这些信息保存在日志文件中我们很难进行有规律的查看和数据分析,这些信息的流失是损失重大的。 因而,我们需要将一些必要的信息写入数据库。 在写入之前,我们先分析一下如何将乱糟糟的日志信息,分类写入: (1)首先,我们先把找到一些规律,也就是分析出字段及字段值; (2)之后把这些字段用一个不同于
2015-12-30 22:02:03 1061 2
原创 log4j(一) 生成日志文件
log4j是开源的日志记录项目,我们不仅可以对输出的日志的格式自定义,还可以自己定义日志输出的目的地,比如:屏幕,文本文件,数据库等。本节主要讲述如何将日志信息打印到文件,并将不同的信息打印到不同的文件中。 用log4j将日志写入数据库主要用到是log4j包下的JDBCAppender类,它提供了将日志信息异步写入数据的功能,我们可以直接使用这个类将我们的日志信息写入数据库;
2015-12-30 21:12:22 2938 4
原创 (Java)你的日期还在用String吗?
还记得开始做项目的时候,为了省事,躲避未来已知或未知的麻烦,好多日期格式的都直接用String类型了。后来被强制要求用Date或DateTime类型,也没有实际去追问。 这里就又要提一句老话了:出来混总是要还的。这次又要操作日期,不同的是我们已经过了囫囵吞枣的年纪。 经过一番实践和调查,明白了我们为什么要用Date类型: 1、数据规范。Date对合法日期型会校
2015-12-26 22:03:09 2395 4
原创 java根据IP地址获取本地定位
在很多项目里,对当前用户的地理位置定位是一个很重要和“贴心”的需求。 通过定位服务,我们可以提供用户对周边地区服务的认知和响应,对服务型软件的产品也是一个非常好的体验点。 比如有一款手机软件叫“指路精灵”,设计的就非常实用,大家可以查查看:它通过自动用户定位,只需选中你需要的服务项,如“娱乐”,再转动手机,他就能自动获取周围一定范围内的娱乐场所信息,并提供地图服务等,非常方
2015-12-26 20:07:16 7156 9
原创 两种方式实现页面数据绑定
项目绑定前台页面数据时,由于开始是自己画页面,就比较随意,都是传的集合。后来找了外面的美工做了页面,要求传Json,就又改成了json绑定。 为什么要用Json? Json可以
2015-11-30 21:06:49 1991 4
原创 云片网实现短信验证码
项目开发中,用户注册和重置密码要发送短信验证码。 找了个第三方的服务商——云片网,看了看上面的API实例代码,实现起来非常简单,但中间还是有一些小波折,今天来给大家扫除障碍,完美实现短信验证~ 首先,进入云片网,注册一个账号,然后进入“短信发送”菜单的“添加签名”页面,添加公司名称,如图: 之后,还是在“短信发送”菜单,进入
2015-11-30 00:19:36 8664 10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人