- 浏览: 1036562 次
- 性别:
- 来自: 成都
最新评论
-
繁星水:
Useful!!
Object-C之(Null)与(Bool) -
pacer123:
请问注解@ApiModelProperty 在哪个jar包下面 ...
Micro Service工具集之Swagger:可测试的样式化API文档 -
sucheng2016:
这东东真的好用么/
对象转换利器之Dozer -
zzq0324:
http://git.oschina.net/zzq0324/ ...
基于Spring-WS的Restful API的集成测试 -
lrz0534:
你好,我在maven上面下载了swagger-springmv ...
Micro Service工具集之Swagger:可测试的样式化API文档
文章列表
Mac下搭建Git本地库(续)
- 博客分类:
- Linux学习
The only unchangeable thing is change.
前面讲了如何搭建一个基于Git协议的Local repository。实现了之前的用户需求,现在用户来了一个新需求:
“我希望在Windows的机器上也可以使用local repository”
首先分解这个需求:
1、在Windows下安装Git,或者Git支持工具。
2、验证之前的上篇提到的所有功能都能在Windows下工作
3、如果有改动git server的设置,Mac的所有功能也需要重新验证。
实现过程:
1、在Windows下安装Git,目前比较流行是msysgit ...
需求:使用闲置机器搭建一个项目组内部的Git Repository,以供项目组内部管理一些自己的小项目。
需求分解:
1、项目组成员可以通过clone,pull,push获取到服务器上的最新的代码。
2、项目组成员可以把本地的repository的代码推送到服务器上。
3、可以通过网页查看git本地库的状态。
实现过程:
1、在服务器上创建Git仓库。
mkdir git_repo/test.git
cd git_repo/test.git
git init –bare
创建完之后,test.git 下得到如下目录:
本例中使用git协议(其他三种为local,ssl ...
接上篇,接下来练习通过AIO实现一个简单的TCP server。熟悉NIO的朋友应该都了解ServerSocket,在AIO中与之对应的就是AsynchronousServerSocketChannel,查看其API文档,介绍如下”An asynchronous channel for stream-oriented listening sockets. “,就是一个异步的数据流监听Socket。其主要函数有如下几个:
accept(): 接受一个连接,返回一个Future,可通过Future获取到Socket的状态,和数据。
accept(A attachment, Completi ...
随着JDK7的发布,Java的AIO正式支持版本也出炉了,就像当年发布NIO特性支持时,基本上所有的Java服务器都重写了自己的网络框架以通过NIO来提高服务器的性能。AIO的发布势必也会引起Java界的一次重写风潮,现在很多的网络框架(如Mina),大型软件(如Oracle DB)都宣布自己已经在新版本中支持了AIO的特性以提高性能。下面就来看一下aio的基本原理,以及如何使用JDK7的AIO特性。
所谓AIO,异步IO,其主要是针对进程在调用IO获取外部数据时,是否阻塞调用进程而言的。一个进程的IO调用步骤大致如下:
1、进程向操作系统请求数据
2、操作系统把外 ...
从Maven到Gradle
- 博客分类:
- Java学习
1、安装
Gradle安装和Maven一样方便,只需要,下载(http://www.gradle.org/downloads )==》解压==》配置环境变量(GRADLE_HOME & PATH),配置好环境变量之后记得使用 source命令使新的环境变量生效。配置成功之后,可以在命令行通过 “gradle -v"验证是否安装成功。
2、Gradle编译Maven风格的java项目
首先,在项目根目录创建"build.gradle"文件,编译java项目需要使用gradle的java插件apply plugin: 'java',因为要集成m ...
Cucumber 入门学习
- 博客分类:
- Ruby学习
1、Cucumber是什么
Cucumber是一个在敏捷团队十分流行的自动化的功能测试工具,但是其不仅仅是一个测试工具,它能够为我们建立一个易读的,可执行的特性文档。
2、Cucumber的特点
(1)、易于安装,使用。无论是在Ruby平台,.Net平台,Java平台安装都很容易。
(2)、集成度高,对开发环境没有破坏,并和多种Web开发框架集成。
(3)、易于理解,Cucumber的特性文档都是采用近似于普通文本的语法写成,很容易读懂和编写,甚至是非技术人员都可以编写。
(4)、易于维护,因Cucumber是从用户的业务逻辑出发去写测试,不涉及到具体的技术框架,和内部业务流程,因 ...
最近在学习Ruby的时候,看到Martin Fowler的文章有说,Ruby流行的一个很重要原因是它非常适合用来编写内部领域特定语言(Internal DSL),当时对DSL这个新鲜的名词非常不解,适逢公司有精于此道的大佛,万幸求得了一次非常有收获的Session,讲解了 何为DSL? DSL为什么会诞生?
1、知识漏斗(Knowledge Funnel)
人在学习一个新知识的时侯都会经历3个阶段,Mysterious(神秘);Heuristic(启发式);Algorithm(算法化)。以下逐步浅析:
Mysterious:在刚开始接触一类新的知识的时候,它对我们来说, ...
GitHub的Ruby代码规范
- 博客分类:
- Ruby学习
最近开始接触Ruby和Rails的开发,个人是一个疯狂迷恋编写代码边format的编写方式,看到摆的凌乱的代码就会有一种无法言说的焦躁感,同样的习惯被我带到了Ruby的学习过程中,可是应该如何确定Ruby源文件的format呢? GitHub公布了他们的答案:
Ruby Style Guide:https://github.com/bbatsov/ruby-style-guide
源代码布局方面:
1、所有源文件以UTF-8编码
2、使用2个空格的缩进
3、使用Unix风格的换行符(\n),windows(\r\n)。可使用git config --global core.autocr ...
《卓有成效的程序员》读书笔记
- 博客分类:
- 好文分享
开篇:懒惰是程序员的优秀品质,他们无法容忍自己反复做同样的事情,无法容忍自己去做应该计算机做的事,无法容忍可以2个按键的操作却按了3个键来达到目的......
《Be Productive Programmer》就是这样一本教你如何变懒的 ...
关于LISt Process...
- 博客分类:
- Java学习
前2天听了熊老师的一个Session,关于List Process的,差点忘了总结,现记录如下:
从一个Story开始,现需求如下:(注:List中的每个元素都是都是整数)
(1)、给定一个List,把List中的每个元素+1,返回新的List;
(2)、给定一个List,把List中的每个元素*2,返回新的List;
(3)、给定一个List,取出其中的偶数,返回新的List;
以TDD的思维开发,先写Testcasepublic class ListProcessTest {
@Test
public void test_every_element_in_lis ...
TDD step by step
- 博客分类:
- Java学习
什么是TDD,字面很好理解,曾经的我以为就是先写测试,然后写实现,接着跑测试,通过,收工。今天厚着脸皮抓到高级敏捷咨询师力岩同学一起Pair,告诉我什么是真正的TDD,他以一个小Case的练习把我带进了TDD的大门,下面 ...
找到jvm.dll之后呢?——加载。
也就是获取到应该加载的jvmPath之后,java.c接下来执行到263行:
if (!LoadJavaVM(jvmpath, &ifn)) {
exit(6);
},通过java_md.c的LoadJavaVM函数来加载整个JVM虚拟机,该方法有2个参数: 第 ...
对于Java程序来说,JVM是一台完整的机器,可是对于真正的机器或OS来说,JVM只是其中一个进程而已。作为一个进程,它又是如何启动的呢?如下来一步一步分析。(注,本文分析的JDK源代码是openjdk6,下载地址:http://download.java.net/openjdk/jdk6/)
JVM的进程入口是在...\jdk\src\share\bin\java.c。199行。该方法一开始初始化了一系列的指针并判断是否打开debug(通过set _JAVA_LAUNCHER_DEBUG=1打开).接下来就进入了CreateExecutionEnvironment函数,该函数主要作用 ...
从一个例子看JVM启动过程(2)
- 博客分类:
- Java学习
其实,在代码执行到Main函数之前,需要加载初始化很多类。在初始化虚拟机的这段时间中,Bits类先于VM类初始化,即在VM还没有初始化完的时候,Bits类就已经开始初始化静态属性maxMemory,而通过反射拿到的值也是这个时候设置的 ...
从一个例子看JVM启动过程(1)
- 博客分类:
- Java学习
开题从一个例子说起:
public class NativeMemoryGC
{
@SuppressWarnings("restriction")
public static void main(String[] args) throws SecurityException, NoSuchFieldException, ClassNotFoundException, IllegalArgumentException, IllegalAccessException, InterruptedException
{
System.out. ...