自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蛋导的平凡之路

机会总是有的,只要你愿意去尝试

  • 博客(57)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot2.x学习之路(六)MongoDB的使用

一、Windows下安装MongoDB下载地址:https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.5-signed.msi/download二、如何创建数据库三、可视化工具Robo 3T的安装下载地址:https://robomongo.org/四、Spring Bo...

2020-08-09 14:41:10 307

原创 SpringBoot2.x学习之路(五)RabbitMQ的使用

今天小七给大家介绍一下在Spring Boot项目中如何使用RabbitMQ,下面直入正题吧。(一)RabbitMQ的安装以及介绍之前的博文,小七有介绍过RabbitMQ以及如何安装,这里就不再赘述了,请查看下面的博文地址:https://blog.csdn.net/qiyongkang520/category_6751853.html(二)RabbitMQ的依赖引入pom.xml中添加...

2020-04-11 23:33:27 349

原创 SpringBoot2.x学习之路(四)Redis集成以及哨兵模式的配置

今天小七给大伙介绍一下,如何在Spring Boot项目中使用redis,大家都知道搭建redis有4种方式,分别是单节点实例、主从模式、sentinel模式、cluster模式。今天来给大伙介绍一下sentinel模式的环境搭建以及如何集成到Spring Boot中。先来简单介绍一下sentinel模式,也就是哨兵模式。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的...

2020-04-07 21:56:42 3470

原创 SpringBoot2.x学习之路(三)JdbcTemplate、Mybatis多数据源配置

上一篇博文介绍了JdbcTemplate、Mybatis在Spring Boot中如何使用,但是都只是配置了一个数据源,下面小七给大家介绍一下,如何配置使用多个数据源。其实,按照目前的分布式系统设计,咱们会按业务划分模块,每一个系统模块会使用自己的数据库,也就是说基本上不存在一个应用使用多个数据源的场景。但是有的数据报表,可能会从不同的模块获取数据,这个时候可能就要连接多个数据源了;不过这种情况...

2020-04-06 12:22:16 655

原创 SpringBoot2.x学习之路(二)JdbcTemplate以及Mybatis的使用

上一篇博文,小七介绍了如何搭建一个Spring Boot项目,那么接下来,咱们就学习一下如何在Spring Boot项目中操作数据库。目前在我们的项目开发过程中,常用的框架有JPA(Hibernate)、Mybatis等,这里小七不推荐JPA的方式,因为小七认为SQL就应该写在专门的地方,不应该写在业务代码或者通过实体逆向生成SQL,这样太不灵活了。当然,平时自己写一些小工具的话,还是可以使用使...

2020-04-05 17:08:18 999

原创 SpringBoot2.x学习之路(一)HelloWorld入门

最近准备好好学习一下Spring Boot和Spring Cloud,在公司一直没有机会使用,只能靠自己了,下面小七分以下几个方面来给大伙简单介绍一下:一、Spring Boot是什么,有什么好处这里小七先贴出Spring Boot官网的原文(谷歌翻译):通过Spring Boot,可以轻松地创建独立的,基于生产级别的基于Spring的应用程序,您可以“运行”它们。我们对Spring平台和...

2020-03-22 21:23:35 275

原创 java开发常用的linux命令汇总

作为java开发人员,经常会与linux服务器打交道,而要操作linux,就需要知道一些常用的命令,下面我结合平时开发过程中经常用到的linux命令,进行一下汇总,如下:1、查找文件、搜索字符串find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 find . -name “*.xml” 递归查找所有的xml文件 find . -na...

2018-02-23 10:22:07 388

原创 异常的处理以及消息国际化

大家写代码应该都对异常接触比较多了,但是如何正确的处理好异常,这个就是一个比较重要的事情了。 下面,我就异常、异常消息的国际化作一个简单的介绍,希望给不会处理异常的同学提供点帮助。一、异常介绍java里面的异常主要分为运行时异常和检查异常,异常的根类是Throwable,继承类是Error和Exception,运行时异常和检查异常都是继承至Exception。其中,Error是错误,无法恢复的;而

2017-05-22 22:20:03 3035

原创 Cas单点登录的简单了解

最近刚入职一家创业公司,是做物流仓库管理服务的,所包含的系统以及模块还是挺多的,同时业务也比较复杂,感觉能得到不少的锻炼 。之前就对SSO单点登录比较感兴趣,刚好公司用了cas单点登录,所以自己就简单的了解了一下,后面有了实战经历,再给大家分享,今天就给大家简单的介绍下cas单点登录的一个大致原理。 首先,贴一张图介绍一下大致的过程,如下: 下面,笔者将分一下几个步骤进行介绍:一、https

2017-04-12 23:36:41 5024 1

原创 rabbitmq学习之路(四)几种转换器类型的介绍

前几篇博文简单介绍了rabbitmq的基础配置以及使用,今天就给大家介绍下转换器的概念。其实,生产者发消息不是直接发给队列的,而是发给转换器,再有转换器决定进入到哪一个队列或者被丢弃。在之前的代码没有指定转换器,这里其实用了rabbitmq默认的转换器,也就是direct方式,直接根据队列的名称这个路由key知道对应的队列。 下面,笔者就一一介绍下fanout、direct以及topic这三种类型

2017-03-08 22:19:19 1855

原创 rabbitmq学习之路(三)消息应答、持久化以及公平转发

上两篇博文简单介绍了下rabbitmq的使用方式,接下来,笔者再给大家介绍下rabbitmq的基础配置:设置消息的应答、持久化以及公平转发。 下面,笔者简单的来解释下这个三个配置: 1. 消息应答: 默认情况下,只要有消费者,消息进去队列后,消息就会被全部分配好到相应的消费者进行处理,对应的消息也会在队列中去除。如果某个消费者处理过程中突然挂了,那么这些消息就没有被处理,所以我们可以设置消

2017-03-07 22:13:35 1169

原创 rabbitmq学习之路(二)spring的集成方式

今天来给大家介绍下rabbitmq的spring集成方式,现在绝大部分的组件基本上都能够与spring无缝集成,使用起来也非常方便。 下面,笔者分以下几个步骤进行介绍:一、maven依赖pom.xml依赖如下:<!-- RabbitMQ --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>

2017-03-06 22:06:46 545

原创 rabbitmq学习之路(一)安装以及简单使用

因为公司的一个客服系统用到了rabbitmq消息队列,所以笔者想深入学习一下,给大家一起分享下。 其实,jdk里面也有队列相关的类,例如LinkedBlockQueue。但是在实现持久化,跨应用之前存在很大的障碍,所以使用一些成熟的消息队列组件便能带来不错的效果。 rabbitmq有几个概念需要记住,如下: Exchange:交换机,决定了消息路由规则; Queue:消息队列; Chann

2017-02-27 22:28:42 685 1

原创 memcached的简单使用以及spring的集成

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。 下面,笔者分以下几个步骤来进行介绍:一、安装

2017-02-25 16:11:03 1423

原创 H5学习之路-手机短信验证码的实现

在上一篇博文中,给大家介绍了图片验证码的实现,今天再给大家介绍一下手机短信验证码的实现。其实,这个和图片验证码差不多,只不过要把后天生成的验证码发到对应的手机号码上,然后再进行验证。这里,关于发短信的功能可以找手机短信服务商,对接相应的接口即可。 好了,笔者就直接贴出相应的代码,流程也比较简单,第一步就是生成验证码发到对应的手机上,把相关数据放在session或内存中,第二步就是验证了。一、htm

2017-02-12 22:45:27 18813 8

原创 H5学习之路-图片验证码的实现

验证码想必大家都经常遇到,今天就给大家介绍一个比较简单的图片验证码的实现。 要实现验证码主要分生成和验证两步。首先生成,就是指某个用户看到验证码后台立马生成的,然后把这个生成图片的字符串保存放在session或者内存中;要验证用户输入的字符串与生成的验证码是否一致,就是取出这个session中保存的字符串与用户输入的验证码进行比对即可。一、html代码笔者写了一个很简单的html界面,来简单模拟下

2017-02-07 23:29:54 11538

原创 H5学习之路-图片旋转、压缩处理

最近一直在网上找关于图片上传、旋转处理、压缩处理等相关的资料,发现也不是很多。首先图片处理还是挺复杂的,完全靠自己写代码实现,笔者感觉自己不具备这个实力,所以还是在网上找一些好的插件,然后综合下,节省时间。 记得在上一篇博文就介绍了图片上传的方案,今天就来说说图片旋转和压缩处理。因为这两点还是挺重要的,之所以会处理旋转这个问题,是由于ios拍照存在这个bug,导致上传的图片方向逆时针旋转了90。那

2017-02-06 21:11:54 3600

原创 H5学习之路-图片上传(cropper、webuploader)

好久没有写博客了,感觉都不习惯了。一方面是因为工作占用的时间过多,另一方面是自己有点懒,没有坚持。好了,少扯这些没用的东西,直入主题呗。笔者目前在公司会接触到H5的开发,也就是手机端app的开发,但是用的H5,而非原生的方式,主要是节省开发时间,不必针对android或者ios各自单独开发一套。但是,H5的方式因为各个系统、不同版本之间也会存在一些兼容性的问题,所以选择一些合适的插件,也是至关重要,

2016-11-06 17:57:03 14148 17

原创 hadoop生态系统学习之路(十二)cloudera manager的简单使用

最近,忙着辞职和考驾照的事,都没时间写博客了,差点把大数据相关的一些技术都给忘了。不过还好做好归纳整理,能够快速的恢复起来。其实,笔者发现,学习大数据还是有点小窍门的。首先,最好能有个人指引,有什么问题都可以问他,因为我仅仅只看视频、资料等,很难挖掘里面有价值的东西。另外,我们得多尝试,多发现问题并解决。其次,一开始我们不要纠结于环境的搭建,等我们对整个hadoop生态系统有一定的了解之后,我们再回

2016-05-05 10:32:45 10506 1

原创 hadoop生态系统学习之路(十一)Zookeeper的简单使用

今天来给大家介绍下zookeeper的简单使用。之前使用的hbase就依赖zookeeper,选举master。 下面,笔者将分以下几个步骤进行介绍:一、zookeeper的基本原理数据模型,如下: ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,比如上图中第三层的第一个ZNode, 它的路

2016-04-12 20:53:22 5672

原创 hadoop生态系统学习之路(十)MR将结果输出到hbase

之前讲了MR将结果输出到hdfs、hive、db,今天再给大家分享一下,如何将结果输出到hbase。 首先,提一句,笔者在hadoop集群执行此MR的时候报了一个错误,是一个jar包的缘故,这个错误是hbase版本的bug,在下面笔者会为大家介绍以及如何解决这个问题。 好了,笔者将分以下几个步骤进行介绍:一、pom依赖 <!-- hbase版本 --> <hbase.ver

2016-04-11 21:09:25 6513

原创 hadoop生态系统学习之路(九)MR将结果输出到数据库(DB)

最开始讲MapReduce的时候,我们是指定输出目录,然后把结果直接输出到hdfs上。然后,在介绍hive的简单使用时,我们直接将结果输出到了hive表中。另外,MR还可以将结果输出到数据库以及hbase。 今天,笔者就给大家介绍MR将结果输出到db。 首先,笔者要提及一下之前MR将结果输出到hive表,这里需要注意,只能向某张表中入一次数据,再次执行MR报错: org.apache.hive

2016-04-10 16:18:03 6475

原创 hadoop生态系统学习之路(八)hbase与hive的数据同步以及hive与impala的数据同步

在之前的博文中提到,hive的表数据是可以同步到impala中去的。一般impala是提供实时查询操作的,像比较耗时的入库操作我们可以使用hive,然后再将数据同步到impala中。另外,我们也可以在hive中创建一张表同时映射hbase中的表,实现数据同步。 下面,笔者依次进行介绍。一、impala与hive的数据同步首先,我们在hive命令行执行show databases;可以看到有以下几个

2016-04-07 00:55:48 11651 2

原创 hadoop生态系统学习之路(七)impala的简单使用以及与hive的区别

上个月参与了公司的大数据接口平台项目,其中就使用到了impala提供实时查询接口。而且,在使用当中还遇到了关于impala版本的问题,主要是sql语法上的差异,目前已经到了2.4了,而我们公司集群环境使用的版本是1.3。 下面,笔者将分以下几个步骤进行介绍。一、impala的基本概念与原理Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Imp

2016-04-05 21:17:48 17740 6

原创 hadoop生态系统学习之路(六)hive的简单使用

一、hive的基本概念与原理Hive是基于Hadoop之上的数据仓库,可以存储、查询和分析存储在 Hadoop 中的大规模数据。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据,允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。Hive 没有专门的

2016-04-05 13:02:06 5609

原创 hadoop生态系统学习之路(五)hbase的简单使用

最近,参与了公司的一个大数据接口平台的开发,具体的处理过程是这样的。我们公司负责数据的入库,也就是一个etl过程,使用MR将数据入到hive里面,然后同步到impala,然后此接口平台提供查询接口,前台会将sql语句以参数传过来,然后接口平台通过调用impala提供的java api接口,将数据查询出来返回给用户。另外,如果查询的数据量很大,那么前台就会传一个taskId过来,第一次只需将数据查询出

2016-03-31 21:59:18 2549

原创 hadoop生态系统学习之路(四)MR支持的输入文件格式以及输出文件格式

在上一篇博文中,笔者执行mr时,输入文件是.txt格式的。其实,还可以是压缩格式。 为什么要使用压缩格式呢?文件压缩可以减少存储文件所需要的磁盘空间,并加速数据在网络和磁盘上的传输。 然后,MR又是怎么判断你的输入目录中的文件是压缩还是非压缩的呢?MR通过CompressionCodecFactory来推断CompressionCodec时,如果输入文件是压缩的,那么在根据文件扩展名推断出相应的

2016-03-29 13:17:30 2599

原创 hadoop生态系统学习之路(三)java实现上传文件(本地或ftp)至hdfs

在上一篇博文中,我们讲了如何编写、运行、测试一个MR,但是hdfs上的文件是手动执行命令从本地linux上传至hdfs的。在真实的运行环境中,我们不可能每次手动执行命令上传的,这样太过繁琐。那么,我们可以使用hdfs提供的java api实现文件上传至hdfs,或者直接从ftp上传至hdfs。 然而,需要说明一点,在上一篇博文中,笔者是要运行MR,都需要每次手动执行yarn jar,在实际的环境中

2016-03-28 23:40:18 8232 1

原创 hadoop生态系统学习之路(二)如何编写MR以及运行测试

最近一直太忙,都没时间写博客了。首先是平时需要带我的一个哥们,他底子比我稍弱,于是我便从mybatis、spring、springMVC、html、css、js、jquery一个一个的教他,在教的过程中笔者也发现了很多之前自己没有弄明白的问题,所以说想把一样东西学好并不容易。另外笔者也参与了公司的大数据项目,学会怎么写一个MR,以及hdfs、hbase、hive、impala、zookeeper的基

2016-03-26 22:19:51 4979

原创 hadoop生态系统学习之路(一)Cloudera Manager一键安装

上两周参与了公司大数据环境的搭建,最终采用的是cloudera公司提供的Cloudera Manager图形化安装方式,这个和Ambari比较类似,只不过cm支持中文。 首先,笔者来谈谈自己的一些感受。其实,笔者也是刚接触大数据没多久,但是比较有幸能在公司接触大数据相关的东西,所以想抓住这个机会,让自己能够成为广大hadoop粉丝的一员。 对于学习任何东西,在笔者看来,在稍微对此技术有一点了解之

2016-03-08 21:58:01 7867

原创 一个java代码生成器的简单实现

最近,一直跟着公司技术牛人在搞大数据相关的东西,主要涉及的是环境搭建,同时也了解下整个hadoop生态系统相关的东西,真是让我大开眼界,这个在之后的博文中再来与大家分享。 今天,笔者给大家介绍一个代码生成器,这个是笔者的主管写的,写的确实不错,主要是基于公司的jquery easyUI + springMVC + myBatis这套框架写的,可以根据一个数据库表生成model、mapper.xml

2016-03-07 20:19:49 39565 41

原创 hadoop学习之路(二)hadoop基本概念原理以及单词统计任务源码分析

在上一遍博文中,已经将hadoop集群环境搭建完毕。那么,接下来,笔者再根据安装过程中的一些名词对象进行解释,以及大致的运行原理。最后,再获取hadoop-example jar中的单词计数源码,进行解释并在hadoop环境中运行。一、hadoop基本概念hadoop包括两个核心组成: HDFS:分布式文件系统,存储海量的数据 MapReduce:并行处理框架,实

2016-02-23 23:55:08 1823

原创 hadoop学习之路(一)hadoop集群服务搭建

现在,大数据这么火,笔者也忍不住想学了。21世纪是数据的竞争,那么大数据必然是一种趋势,提前了解hadoop也为自己今后的发展奠基一席一路。虽然说移动互联开发也非常火,但也离不开数据,因此,大家还等什么呢。 目前,hadoop已经到了2.x,并且1.x与2.x的差别还是挺大,感觉自己都快跟不上节奏了。学习任何技术,都得有始有终,最好了解它的前世今生。所以笔者打算从1.x开始学起,并选择1.2.1这

2016-02-23 00:10:47 1486 1

原创 六种常用的设计模式java实现(六)策略模式

策略模式,说得通俗点,就是一种途径,可能有多种方法,我们可以把每一种方法做成一个策略,想用哪种就使用哪个策略。一、 基本概念策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。二、结构环境(Context)角色:持有一个Strategy的引用。 抽象策略(Strategy)角色

2016-02-18 23:55:01 654

原创 六种常用的设计模式java实现(五)代理模式

代理这个概念,大家应该不陌生,像spring中的动态代理和jdk代理,以及webservice中都会用到代理模式。顾名思义,就是通过代理的方式完成一些事。一、基本概念为其他对象提供一种代理以控制对这个对象的访问。说白了就是,在一些情况下客户不想或者不能直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务二、结构●  抽象对象角色:声

2016-02-18 23:39:38 602

原创 六种常用的设计模式java实现(四)模板模式

模板模式,估计大家应该都接触过,比如说,在完成某个业务逻辑前,需要处理一点事,在完成后也要处理一点事,这样就可以把不一样的地方给抽象出来,然后公共的地方都是一样的,这样的场景就会用到模板模式。一、基本概念模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑

2016-02-18 22:30:31 1259

原创 六种常用的设计模式java实现(三)责任链模式

这个责任链模式,其实在之前写的定时任务中也用到过。其实,责任链模式跟工作流很相似,一个工作分为很多任务,当启动这个工作时,这些任务按照设定的顺序,一个接着一个的执行。web中的过滤器其实也用到了这种设计模式。 接下来,一起看看责任链模式。一、基本概念责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处

2016-02-17 23:40:35 1207

原创 六种常用的设计模式java实现(二)单例模式

上一节说完了工厂模式,那么,接下来给大家介绍下单例模式。单例模式想必大家应该都用得比较多,特别是在spring中,我们的java bean对象一般都是单例的。像项目中某些类只会被实例化一次或者只能实例化一次,我们都可以把这个类做成单例的。一、基本概念单例模式又叫做单态模式或者单件模式,保证一个类仅有 一个实例,并提供一个访问它的全局访问点。单例模式中的“单例”通常用来代表那些本质上 具有唯一性的系统

2016-02-16 21:40:49 540

原创 六种常用的设计模式java实现(一)工厂模式

想必大家都应该了解过设计模式吧,大概有23种,其中,笔者接触到的大概也就六七中,这里把常用的六种设计模式分别给大家介绍下。 首先,为什么要使用设计模式,这个大家应该在使用之后就应该比较清楚了。笔者的理解,其实,不使用设计模式,功能照样能实现,但是使用了就能达到一种意想不到的效果,设计模式是一种不错的思想,能够为程序锦上添花,但切记不能乱用。接下来,为大家介绍下工厂模式。一、基本概念。为创建对象提供

2016-02-15 22:06:07 1129

原创 任务调度quartz(二)一个简单的调度平台的实现

奋战了几个大概三个星期,终于实现了一个简单的调度平台。不过完全凭自己的个人能力是不可能完成的,笔者是参照公司的项目,学习其中的思想和技术。然后,再融入自己的一点想法,加以改造,就实现了一个比较简单的调度平台,同时也非常佩服这些有想法的技术牛人。 首先,来看看一点小成果,截图如下: 这是通过javamail发送的邮件。 这就是调度平台的任务执行记录页面。 这是一个excel表格,记

2016-01-07 22:58:39 1853 2

空空如也

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

TA关注的人

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