- 博客(48)
- 资源 (3)
- 收藏
- 关注

原创 Git配置多个SSH key
需求:有时候我们的代码托管在多个平台上,这就需要为每个托管平台设置SSH-key1,生成一个公司用的SSH-Key$ ssh-keygen -t rsa -C "1email@company.com” -f ~/.ssh/id_rsa2,生成一个github用的SSH-Key$ ssh-keygen -t rsa -C "2email@github.com” -f ~/.ssh/github_rs...
2018-06-13 09:00:34
26244
5

原创 TortoiseGit设置SSH-key实现免用户名密码验证
设置TortoiseGit ssh-key 免去每次提交git时都要输入用户密码操作。使用TortoiseGit作为github本地管理工具,TortoiseGit使用扩展名为ppk的秘钥,而不是 ssh-keygen生成的rsa密钥。也就是说在git bash中使用ssh-keygen -C "username@email.com" -t rsa产生的密钥TortoiseGit中不能用。而基于g...
2018-06-09 08:49:40
16666
2

原创 Windows下搭建Redis Cluster集群
搭建准备:首先到 https://github.com/MSOpenTech/redis/releases下载Redis-Windows版本;下载好后解压,解压之后可看到这些文件:进入到解压目录,右键->打开命令窗口,输入 redis-server.exe redis.windows.conf 启动redis-server :看到如下界面说明启动redis server成功。下面开始介绍...
2018-06-01 20:23:22
11003
6
原创 Hive执行load data [local] inpath 'path' [overwrite ] into table table_name报Invalid path问题
今天使用Hive客户端 beeline 执行数据导入,怪异的报错:beeline>load data local inpath '/home/hhuang/2018-05-01_14.txt' overwrite into table data_idea_id_hourly partition ( dt = '2018-05-27',hour = '14' );Error: Error w...
2018-05-31 20:33:16
65165
1
原创 二叉树遍历
import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;public class BinaryTreeIteration { public static void main(String[] args) { //构造指定节点个数的二叉...
2018-05-29 12:38:41
182
原创 zookeeper节点类型
1 持久节点(PERSISTENT) 所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。2 持久顺序节点(PERSISTENT_SEQUENTIAL) 这类节点的基本特性和上面的节点类型是一致的。额外的特性是,在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。基于这个特性,在创建子节点的时候...
2018-04-18 17:48:33
616
原创 ZooKeeper 配置文件(zoo.cfg)详解
参数名说明clientPort客户端连接server的端口,即对外服务端口,一般设置为2181吧。dataDir存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。tickTimeZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tic...
2018-04-18 17:47:21
1001
原创 【dubbo源码分析】1. dubbo消费端 - dubbo-consumer加载流程
dubbo-demo-consumer.xml:Main启动入口:加载配置文件时spring读取META_INF/spring.handler文件进行xsd文件配置解析(DubboNamespaceHandler)初始化Bean:当初始化<dubbo:reference id="demoService" check="false" interface="com.alibaba.dubbo.d...
2018-04-18 17:41:16
333
原创 【dubbo源码分析】6. dubbo消费端-Consumer如何通过引用代理调用具体服务方法
由文章 5.ProxyFactory使用 Invoker创建消费端调用代理类 知 DemoService引用代理类为:因此,当我们调用demoService.sayHello("world") 方法时,将会调用代理类proxy0.sayHello()public class proxy0 implements ClassGenerator.DC, EchoService, DemoService...
2018-04-18 17:29:45
777
原创 【dubbo源码分析】5. dubbo消费端 - ProxyFactory使用 Invoker创建消费端调用代理类
首先来看看proxyFactory: private static final ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension();根据 Adaptive类/com.alibaba.dubbo.rpc.ProxyFactory 之 Adap...
2018-04-13 13:01:23
1113
原创 【dubbo源码分析】4.dubbo消费端-消费端 DubboProtocol 服务消费 refer 过程
DubboProtocol.refer() 过程==============================================================代码分析==============================================================================================================...
2018-04-13 12:48:29
967
原创 【dubbo源码分析】3.dubbo消费端-Referenceconfig 初始化之远程注册中心方式初始化
1 构建注册中心信息列表:loadRegistries(false) 负责将注册中心集群配置地址 [<dubbo:registry address="10.0.28.54:2181;10.0.28.54:2182;10.0.28.54:2183" protocol="zookeeper" id="com.alibaba.dubbo.config.RegistryConfig" />]...
2018-04-13 11:58:16
2986
原创 【dubbo源码分析】2.dubbo消费端-ReferenceConfig初始化过程
主要流程分为:1.如果为本地服务 (Injvm)则直接调用InjvmProtocol进行订阅服务初始化;2.如果配置直连urls,则根据各url.protocol进行初始化服务;3.如果为远程注册中心,则获取注册中心列表,依次订阅服务进行服务初始化详情请查看 referenceconfig 初始化之远程注册中心...
2018-04-13 11:52:14
1352
原创 【dubbo源码分析】9.dubbo的consumer和provider调用交互过程
本文主要介绍consumer和provider在具体服务调用的时候是如何进行交互的。首先我们要清楚在consumer启动后对于服务接口生成了怎样的接口代理类和provider端对于服务的实现类有生成了怎么样代理类供Invoker使用。下面以Dubbo提供的demo来讲解。先来回顾一下1.provider端1.1.provider为各个服务实现类(如 DemoServiceImpl)都怎么生成装饰类...
2018-04-13 11:49:25
3215
原创 【dubbo源码分析】dubbo com.alibaba.dubbo.common.extension.ExtensionFactory之Adaptive类
@SPIpublic interface ExtensionFactory { <T> T getExtension(Class<T> type, String name);}ExtensionFactory 是根工厂类,是后续获取各个Extension的基础,是其他Extension的ObjectFactory在ExtensionLoader 中有个私有构造函...
2018-04-13 11:41:54
933
原创 【dubbo源码分析】dubbo关键类 ExtensionLoader
ExtensionLoader 几个重要方法:1.getExtensionLoader(Class type); 根据 class 从缓存中获取可用的ExtensionLoader 工厂,如果没有则创建新实例( new ExtensionLoader(Class type))并放入缓存中2.getAdaptiveExtension(); 获取AdaptiveExtension 实例 【包含被@A...
2018-04-13 11:38:40
249
原创 git常用命令
#创建版本库 #创建目录 mkdir test cd test pwd #把目录变成git可以管理的仓库 git init#查看工作区和版本库里面最新版本的区别 git diff HEAD -- readme.txt git diff 是工作区和暂存区的对比 git diff -- cached 是暂存区和分支的对比 git diff HEAD -- readme.txt 工作区和...
2018-04-13 11:36:42
156
原创 【dubbo源码分析】8.dubbo服务端-DubboProvider服务端暴露过程详解
provider服务暴露过程分为两种:1.发布本地服务【Injvm】,主要供本地环境服务间调用2.发布远程服务【protocol】,根据注册中心地址列表将服务依次发布到注册中心上。整体交互图如下:下面开始讲解本地暴露和远程暴露过程:1.本地服务暴露(Injvm)1.1 本地服务 Invoker构建ServiceConfig.java: private static final Protocol p...
2018-04-13 10:48:42
933
原创 【dubbo源码分析】7.dubbo服务端-dubbo-provider加载过程
本文使用的是dubbo-2.5.8版,注册中心是zk(使用不同端口构建第一个伪集群)配置文件: debbo-demo-provider.xml<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" ...
2018-04-13 10:12:01
368
转载 java volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们
2017-08-30 14:29:36
235
原创 zookeeper集群安装和配置
1.下载zookeeper安装包http://zookeeper.apache.org/releases.html我使用的是zookeeper-3.4.6 版本。2.配置zoo.cfg解压包后复制出奇数个节点(过半即可用),这里复制出3个节点,设定3个节点serverId 分别为 1,2,3如下:zoo.cfg位于zookeeper安装目录conf子目录下
2017-07-31 11:55:25
4357
原创 【node.js】windows安装express:'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。
windows 安装nodeJs: node下载地址:https://nodejs.org/download/ 这里下的是 64bit.msi版 自定义安装路径:D:\nodejs 设置全局安装保存目录: npm config set prefix "D:\nodejs\node_global" npm config set cac
2015-07-28 16:35:31
9688
3
转载 nodejs npm常用命令
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。1、npm install moduleNames:安装Node模块安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。node的安装分为全局模式和本地模式。一般情况下会以本
2015-07-28 16:12:29
418
转载 Eclipse上GIT插件EGIT使用手册之六_远程GIT仓库
此小结的前提是已经搭建GIT服务器,并通过SSH协议连接,可参看文档《RHEL下搭建GIT服务器》《WindowsXP下搭建GIT服务器》《GIT服务器使用基础》。本文使用RHEL5.5系统下的GIT-2012-01-11,用户root/password,GIT仓库统一存放在/app/gitspace目录下。首先通过shell工具连接到服务器,建立空仓库gitdemo,此时的ssh访问地址
2014-04-15 15:40:42
491
转载 Eclipse上GIT插件EGIT使用手册之五_查看历史记录
Team -> Show in history可以查看版本历史提交记录 可以选择对比模式
2014-04-15 15:04:24
904
转载 Eclipse上GIT插件EGIT使用手册之四_配置.gitignore
此时我们尝试做一次提交l Team -> Commit…如上图所示,Author和Committer会默认为Git配置的用户信息。下面的Files窗口中可以看到此次提交的文件,其中有非常多带有NC_HOME的文件,此时可以猜测出,在我们的project中链接的NC_HOME也被GIT默认到版本控制中了,如下图:显然NC_HOME和out是不需要进行版本控制
2014-04-15 15:03:43
593
转载 Eclipse上GIT插件EGIT使用手册之三_新建GIT仓库
新建NC module projectl File > Team > Share Project 选择GIT创建仓库后,在$workspace\demo目录下的.git文件夹,就是git的仓库地址。和CVS、SVN不同,GIT不会在每一个目录下建立版本控制文件夹,仅在根目录下建立仓库同时,eclipse中的project也建立git版本控制
2014-04-15 15:02:27
636
转载 Eclipse上GIT插件EGIT使用手册之二_使用EGIT前的配置
配置个人信息,最重要的是user.name和user.emaill Preferences > Team > Git > Configurationl New Entry
2014-04-15 14:59:04
406
转载 GIT服务器使用基础
GIT服务器使用基础 一、初次使用前的配置Git中使用git config来设置环境变量,其环境变量存放在三个不同的地方:l /etc/gitconfig文件:系统中对所有用户都普遍适用的配置。若使用git config 时用--system 选项,读写的就是这个文件。l ~/.gitconfig文件:用户目录下的配置文件只适用于该用户。若使
2014-04-08 17:43:42
473
转载 Git简介
Git简介 一、本地版本控制系统很久以前人们就开始考虑版本控制的问题,因为简单的通过复制整个项目目录的方式来保存不同的版本虽然操作简单,但是缺点显而易见。为解决此类问题,人们开发出本地版本控制系统,大多是采用简单的数据库方式来记录文件的历史更新差异,如图: 二、集中化的版本控制系统很快人们遇到一个新的问题,即如何让不同系统下的开发者协同工作?于是
2014-04-08 17:05:07
574
转载 Eclipse上GIT插件EGIT使用手册之一_安装EGIT插件
一、安装EGIT插件安装EGIT插件 http://download.eclipse.org/egit/updates/或者使用Eclipse Marketplace,搜索EGit
2014-04-08 17:03:28
479
转载 WebService异常(一)__javax.xml.ws.Endpoint.publish()
Exception in thread "main" com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.ws.publish.jaxws.SelectMaxAgeStudent is not found. Have you run APT to generate them?
2013-06-24 10:24:38
7043
转载 MyEclipse下axis2插件的安装
Axis Eclipse plug-in(代码生成工具和打包工具)下载: http://archive.apache.org/dist/ws/axis2/tools/1_4/axis2-eclipse-codegen-wizard-1.4.ziphttp://archive.apache.org/dist/ws/axis2/tools/1_4/axis2-eclipse-service
2013-06-21 09:15:22
1333
1
原创 Maven设置Jetty并修改端口号
org.mortbay.jetty maven-jetty-plugin 6.1.26 2 8012 src/main/webapp/WEB-INF **/*.jsp
2013-06-14 10:22:49
2616
转载 spring工作原理
一、 IoC(Inversion of control): 控制反转 1、IoC: 概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean 二、AOP(Aspect-Oriented Programming): 面向方面编程 1、 代理的两种方式: 静态代理:
2013-06-11 17:40:51
528
转载 mysql触发器的实战经验
1 引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序。触发器是mysql5新增的功能,目前线上凤巢系统、北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程序比如fc-star管理端,sfrd(das),dorado都会用到触发器程序,实现对于数据库增、删、改引起事件的关联操作。本文介绍了触发器的类型和基本使用方法,讲述了触发器使用中容易产生的误
2013-06-06 18:23:00
721
转载 MYSQL 存储过程,游标和触发器
1.存储过程(procedure)MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗。现在有了 MySQL 存储过
2013-06-06 10:22:12
893
转载 多图详解Spring框架的设计理念与设计模式
简介: Spring 作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出 Spring 框架的作者设计 Spring 框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成 Spring 的骨骼架构? Spring 的 AOP 特性又是如何利用这些基础的骨骼架构来工作的? Spring 中又使用了那些设计模式来完成
2013-05-22 15:21:19
914
转载 SpringMVC之整合SiteMesh2.4并借助JSR303规范实现表单验证
首先是web.xml <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun
2013-05-21 17:26:28
663
hadoop2.9.0对应的hadoop.dll,winutils.exe等(X64版)
2018-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人