- 博客(730)
- 资源 (28)
- 收藏
- 关注
原创 Maven:Failed to create a Maven project ‘…pom.xml’ already exists in VFS 解决
有时候我们在创建Maven项目的时候会出现上述的问题,导致Maven项目创建失败,报错的提示如下: 这往往是由于我们在同一个目录中创建了Project Name相同的项目导致的。因为在同一目录下不能创建两个Project Name相同的Project。 所以在Mac下我们可以直接把原先的那个Project删除后,再想创建一个Project Name一样的,发现还是会出现该问
2017-06-25 18:47:53 35341 9
原创 Java开发基础——JSON数据的构造与解析(二)
在我们的第一篇博客《Java开发基础——JSON数据的构造与解析》中我们使用FastJSON这个包来对JSON字符串做解析,使用起来非常方便,但是在实际使用中,FastJSON还需要做很多事情,比如对象与JSON字符串的转化,JSON与List等集合对象的转换等,该篇博客将会来使用FastJSON更细节的功能。JSON字符串数组转化为JSONArray其实JSON.parseArray的功能和JS
2017-06-24 23:31:21 3444
原创 nginx实现数据转发与负载均衡
nginx是一款第三方开源的主要用来做数据转发、反向代理、负载均衡的软件,目前在互联网和软件行业大量使用。本篇博客主要来实现nginx的数据转发和负载均衡的功能,最主要的是配置nginx的配置文件。 本文使用的服务器是阿里云centos6.8,nginx版本为1.6.2 。为了演示方便,可以在服务器上安装一个Tomcat。关于nginx在服务器上的安装,可以参考http://www.r
2017-06-24 22:00:02 5681
原创 IDEA中JRebel插件的安装与激活
JRebel是Java项目开发中一个非常优秀的热部署方案,目前已经有较为广泛的使用,能大大提高项目的开发效率。在IDEA中能很好的集成JRebel插件,但是由于这是一个收费的插件,所以我们要想办法免费来使用。本文会详细来讲解在IDEA中JRebel插件的安装与激活,在之后的博客中会详细来讲解JRebel的使用。进入IDEA->Preference->Plugins->Browse reposito
2017-06-24 19:06:17 26269 2
原创 IntelliJ IDEA开发JavaWeb项目的.gitignore配置
较为完善的.gitignore配置能有效提高版本控制的效率,有时候甚至能较少不必要的麻烦和冲突。以下的.gitignore配置是我在IntelliJ IDEA下开发JavaWeb项目中使用的.gitignore配置,结合自身开发和https://github.com/github/gitignore 中的参考,给出的.gitignore如下:# Built application files an
2017-06-24 18:09:11 8618 1
原创 git如何从仓库中删除已经被跟踪的文件
在我们开始实际项目中,总是会用到.gitignore文件,该文件表示在项目中的某些文件不需要使用git来管理,写入.gitignore中的文件名会自动被git所忽略。但是现实问题往往是这样:.gitignore文件一开始就不可能被考虑完善,可能项目开发到一半,突然发现某个文件需要被git忽略,所以我们再把该文件写入到.gitignore中。但是此时再去配置.gitignore已经没有用了,git还
2017-06-24 16:08:03 4525
原创 Github进行fork后如何与原仓库同步(二)
我们之前在《Github进行fork后如何与原仓库同步》这篇博客中详细讲述了如何与原仓库的项目进行同步的问题,看实际的操作流程还是稍显繁琐,其实现在有比前一篇博客中更为优化方便的方法,来让我们实现该功能。首先前面三个步骤请直接参考《Github进行fork后如何与原仓库同步》中的(1)(2)(3)。操作完全一样。然后直接执行以下命令:git pull upstream master也就是直接从原仓
2017-06-24 15:30:28 2180
原创 Java开发基础——Maven入门
Maven是目前Java开发中最常用的必备工具之一。Maven可以用来构建项目、依赖管理、配置管理、发布管理、文档编制、报告等功能。从本篇博客开始,我们会详细的来学会Maven的使用。 Maven的官方下载地址为:http://maven.apache.org/download.cgi 。选择下面的一个版本安装即可:把下载的Maven放到一个目录下,解压缩Maven就等于安装成功了。
2017-04-24 23:18:45 3595 2
原创 SpringMVC开发——Hibernate与MySQL入门
在Java的项目开发中,数据库是一个很重要的模块,Hibernate作为一个非常成熟的框架,在Java的开发中十分流行。本篇博客将会来介绍在SpringMVC项目中如何使用Hibernate,使用的数据库是MySQL。建议在开发之前首先在电脑上安装好MySQL数据库、MySQLWorkbench可视化工具。本文的示例代码上传至 https://github.com/chenyufeng1991/
2017-04-04 22:25:27 2823
原创 SpringMVC开发——使用Swagger搭建接口请求页面
Swagger是一款RESTful接口的文档在线自动生成模板和页面,使用和平台以及语言无关。目前在很多公司以及实际项目中大量用到。可以把Swagger理解为接口文档,后台写好的代码可以直接生成前端接口文档页面,接口调用这可以通过这个页面发送接口请求,进行接口测试或调用。使用起来非常方便。使用了Swagger之后,就不需要再去维护其他的接口文档了,节省了很多的成本。本文使用的项目案例上传至 htt
2017-04-04 20:47:16 6455 1
原创 SpringMVC开发——实现第一个RESTful接口
SpringMVC最主要的一个功能就是设计接口,并提供给其他应用程序访问,如前端客户端等。RESTful接口是一种接口设计风格,也是一种设计规范,目前在项目开发中已经越来越流行。比如RESTful建议请求需要区分GET、POST、PUT等;返回的数据建议是JSON;网络协议使用https;请求url包含版本号等等。在本篇博客中,我们将会基于SpringMVC框架来设计第一个RESTful接口。本文
2017-04-04 10:23:13 19252 8
原创 SpringMVC开发——第一个SpringMVC项目
SpringMVC目前是非常成熟的一套框架,也是很多后端采用的框架之一。从本篇博客开始,我们将会一起来进行SpringMVC的学习和开发。推荐使用的IDE是IDEA,主要我们会使用Maven进行包管理,Tomcat作为服务器。本篇博客作为SpringMVC的入门,将会使用IDEA来创建一个SpringMVC项目。(1)打开IDEA开发环境,选择Create New Project。(2)然后在左侧
2017-04-04 10:04:59 5068
原创 Java开发基础——制作jar包
在我们实际开发项目中,会引入很多的外部jar包,这些jar包都是别人封装了很多的方法,极大的方便了我们的程序开发。其实我们自己也可以制作属于自己的jar包,来供自己或他人使用。本篇博客将会来详细的说明来制作一个简单的jar包。(1)首先我们建议使用Maven来管理我们的包依赖。这里也会使用Maven来进行打包。首先我们创建一个基于Maven的Java项目,使用的IDE是IDEA。项目创建完成后的目
2017-04-03 17:57:05 6603
原创 Java开发基础——配置文件的写入与读取
在实际的项目开发中,配置文件是一个非常重要的工具,我们可以把全局的配置写入文件,然后在需要的时候再取出来。且在项目的任何位置都可以使用,非常方便。可以把配置文件理解为一个临时性的数据库。在IDEA中,配置文件的后缀为properties。本篇博客将会来演示在Java中配置文件的写入与读取:配置文件如下图所示: 我们一般把配置文件放入到resource文件夹中,作为一种资源文件。在IDEA
2017-04-03 16:49:23 4228
原创 Java开发基础——HttpClients与网络请求
Java开发中,经常会需要访问网络资源,一般都是使用http协议去进行访问。进行网络访问最简单的方式就是使用apache提供的HttpClients包。在该篇博客中,我会来实现使用HttpClients来进行GET请求和POST请求。下面是使用GET请求访问"http://www.baidu.com"网站:public void get() { CloseableHttpClien
2017-04-03 16:00:08 5414 1
原创 Java开发基础——JSON数据的构造与解析
JSON是我们在数据传输中最常用的格式,一般在RESTful的接口设计中返回的一般都是JSON。在Java中经常要来完成数据解析的任务。本文就来实现如何在Java中如何解析JSON。 这里我们使用的工具是Alibaba的FastJSON,根据官方说明,FastJSON基本是解析最快的包了。开发者使用起来也是非常方便。本文使用Maven来管理包依赖,在pom.xml中加入以下依赖:
2017-04-02 21:54:21 2032
原创 Java开发基础——数组、List与Map的使用
在Java中可以定长的来初始化一个数组,并可以使用下标index来赋值或取值,使用非常方便。示例代码如下: Object[] objects = new Object[2]; objects[0] = 100; objects[1] = "chen"; System.out.println("objects:" + objects);
2017-04-02 20:51:34 3136
原创 AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806"
在之前一篇博客中《AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813"》,而在这篇博客中的这个bug也是非常的类似。出现的场景也是服务端使用了自签名的证书,然后客户端按照《AFNetworking访问https出现"NSURLSession/NSURL
2017-03-05 23:55:22 6891
原创 nodejs读取文件时相对路径的正确写法(使用fs模块)
在开发nodejs中,我们往往需要读取文件或者写入文件,最常用的模块就是fs核心模块。一个最简单的写入文件的代码如下(暂时不考虑回调函数):fs.readFile("./test.txt", function (error, result) {} 该代码的意思就是从当前目录下的test.txt文件中读取数据,然后在result中打印输出。当在我们本地运行该代码应该没什么问题,可以成功执
2017-03-05 20:36:23 23728
原创 iOS开发——MD5的最佳实践
在iOS开发中,经常会使用到MD5或者其他的一些散列,来提高应用的安全性。最常用的操作就是把密码进行MD5,然后再进行传输。当然现在有很多现成的实现方式,该篇博客就来实现最简单也最常用的封装MD5的方法,使调用起来非常方便。(1)实现一个Category叫Crypto,继承自NSString。因为我们都是把NSString进行MD5,所以写成Category调用会很方便:在NSString+Cry
2017-03-05 17:01:04 3522
原创 以太坊开发--阿里云ECS(centOS 6.8)安装Ethereum TestRPC
笔者在前面博客中《以太坊开发--truffle和testrpc使用介绍》《区块链-以太坊开发环境搭建介绍》两篇博客中讲解了TestRPC的安装与使用。作为入门区块链开发的重要工具,TestRPC是极好的。前两篇博客中是在Mac下进行操作。如果你有特殊需求,比如要把TestRPC安装到阿里云ECS(centOS)上,这样你就能使用云服务器来提供区块链服务。那么你就能很简单的来开发去中心化的应用了。
2017-03-05 15:53:16 13808 4
原创 AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813"
使用AFNetworking来访问http请求非常方便快捷,最简单的请求代码如下:#import "HSTestHTTPSViewController.h"#import @interface HSTestHTTPSViewController ()@end@implementation HSTestHTTPSViewController- (void)viewDidLoad {
2017-03-04 22:01:42 7598
原创 nodejs开发——express配置自签名https服务器
在nodejs中使用express来搭建框架可以说是非常的简单方便,但是一般默认创建的都是http服务器,也就是只能通过http协议进行访问。如今https已经是发展趋势,我们应该顺应时代的潮流。在本篇文章中,我们将会来使用自签名的方式创建证书,然后使用express框架来搭建https服务器,最后让浏览器或者客户端使用https协议进行访问。 首先我们要生成证书文件:(1)生成私钥k
2017-03-04 20:41:10 16260 1
原创 Atom的使用与solidity packages的安装配置
Atom是一款非常优秀的编辑器,个人觉得能和Sublime平分秋色。用户体验也是非常的优秀。在我们学习Solidity时,官方文档介绍了在Atom上的一些插件,这里有必要做一些分享。官方Solidity文档地址:https://solidity.readthedocs.io/en/latest/index.html# 。Atom下载 官方Atom下载地址:https://atom.
2017-02-03 22:09:16 11962 3
原创 nodejs开发——mongodb数据库与express框架结合
我们在上一篇博客中实现了对mongodb数据库的入门,使用起来非常简单。该篇博客主要来结合nodejs中的express框架,来研究下在项目中如何配置数据库才能符合模块化的要求,并让架构更加合理。
2017-02-02 14:32:01 3386 1
原创 nodejs开发——mongodb数据库入门
当你还在为开发Nodejs使用哪种数据库而犹豫时,那就选择mongodb吧。在nodejs中操作mongodb非常方便,mongodb天然的支持JSON,增删改查都非常简单。本篇博客主要来实现在nodejs中使用mongodb。
2017-02-02 14:26:59 4107 2
原创 nodejs开发——log4js学习
在我们开发项目时,日志是必不可少的一部分,有助于我们排错、数据分析等等。而nodejs自带的console日志不太友好,比如不同级别的日志都是相同的颜色,很难区分。在开发Java时,log4j几乎是必选项。在nodejs中,类似的一个工具是log4js。该篇博客主要来学习如何使用log4js日志工具。安装log4js 命令行进入项目目录,执行"npm install log4js --s
2017-02-01 20:08:41 3904
原创 nodejs开发——require与exports的使用
在前面几篇博客中,我们始终在学习如何进行nodejs的模块化编程,nodejs中模块化编程最主要的一个特征就是常常可以在很多js文件看到require(),也就是引入其他的js文件,非常类似与其他语言中的import或include。同时如果想要require('A'),那么在A文件中必须要使用exports这个关键字表明要导出什么变量或函数。 先来看一个非常简单的使用require和e
2017-02-01 12:46:50 10223
原创 nodejs开发——express框架学习
在我们实际开发项目时,总是会用一些框架,而不是自己从头开始开发。而在nodejs中,express框架就是一个使用频率最高的一个框架。本篇主要来讲解express的使用。加载express框架 由于express不是系统框架,所以需要手动加载,在项目目录下使用命令“npm install express --save” ,就可以在项目中集成express框架,使用--save参数是
2017-01-31 23:51:56 3168
原创 nodejs开发——fs模块
nodejs中一个非常重要的系统模块就是fs(file system)模块,也就是文件系统,主要作用就是对文件的写入与读取。由于node默认是单线程的,所以我们一般使用异步任务来进行文件输入输出。虽然fs也提供了同步执行文件操作,但是同步任务会造成阻塞,所以很少使用。 创建一个js文件,实现代码如下://加载fs模块var fs = require('fs');//写入文件, 文
2017-01-31 21:16:10 2410
原创 nodejs开发——http模块
在进行后台应用的开发中,最重要的就是网络模块,在nodejs中有一个http模块就用来完成有关网络交互的功能,由于这个http模块是系统模块,所以不需要使用npm安装。同时使用这个http模块可以快速创建一个服务器,可供前端调用。 在WebStorm中创建一个js文件,然后实现如下代码://引入http系统模块var http = require('http');//创建服务器h
2017-01-31 20:32:09 2482
原创 nodejs开发入门——开发工具介绍
JavaScript是一门非常优秀而又简单易学的语言,首先JavaScript是作为一门脚本语言存在的,目前已经可以用来成熟的编写后台。该篇博客将首先来介绍开发nodejs中使用的开发工具。IDE 目前可以使用很多的编辑器或集成开发环境来编写nodejs,如Sublime、WebStorm,个人强烈推荐使用WebStorm这个IDE来进行开发。WebStorm可以非常方便的进行代码补全
2017-01-31 19:08:29 16764 1
原创 2017秋季校园招聘iOS开发岗位面试题集锦
笔者参加了2017秋季不少的校招iOS岗位面试,下面我把这些面试题都贴出来和大家共勉:一.搜狐快站1.谈谈你做过的项目;2.项目中最有成就感的部分;3.倒计时如何实现?(NSTimer,还有其他的实现方式吗);4.UIButton的继承关系?5.iOS中可以进行输入的控件?(UITextView,UITextField);6.快排的实现原理;7.短信验证码会有倒计时功能吗?第一次验证失败后还可以再
2016-12-06 00:55:18 10519 6
原创 以太坊开发--使用geth搭建私有链
我在上一篇博客中《以太坊开发--geth的使用入门》中使用的是geth的开发环境,准确来说和私链还是不同的。今天我们就学习来搭建一个以太坊私链。我们知道区块链有三种:公有链、联盟链、私有链。我会在之后的博客中详细讲述这三者的不同,今天主要来实现建立私有链的步骤。兑换geth环境和其他区块链环境的配置请参考《区块链-以太坊开发环境搭建介绍》这篇博客。(1)首先在命令行中使用“geth account
2016-12-06 00:24:06 13702 8
原创 以太坊开发--geth的使用入门
geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C++,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。今天我们主要来介绍geth(发音同guess )的使用。 对于我们开发来说,比较普遍有两种方式打开geth控制台,以开发方式登录和私链方式登录。这两种方式是完全不
2016-12-05 00:24:07 73768 16
原创 以太坊开发--truffle和testrpc使用介绍
truffle是本地的用来编译、部署智能合约的工具,而testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当你的合约在testrpc中测试通过后,再可以部署到geth中去。所以可以说truffle和testrpc就是两大杀器。这篇博客就来介绍它们的使用。对于环境的配置和truffle、testrpc的安装,请
2016-12-04 21:10:54 20837 15
原创 区块链-以太坊学习资料汇总
最近一段时间以来,对区块链的底层研究和基于区块链的应用开发已经越来越火热了。机缘巧合,目前我也在进行区块链方面的开发,在之后的博客中,我会和大家一起分享区块链开发中的酸甜苦辣。今天我先来对收藏区块链-以太坊中一些不错的网站、资料做一个汇总,作为入门和进阶,这些资料都是很不错的,所以来和大家共享。1.精通比特币Github英文版地址:https://github.com/bitcoinbook/bi
2016-12-04 00:25:31 24537 7
原创 Sublime中Package Control的安装与使用
对于程序员来说,sublime是再熟悉不过的编辑器了。sublime实现的缩进、高亮等功能用起来非常方便。但是sublime对其他比较生僻的语言不支持,比如进行区块链智能合约开发语言solidity不支持。所幸的是sublime也可以安装很多插件,可以增加对各种语言的支持。这里要介绍的是sublime下的包管理工具,Package Control。操作步骤如下:(1)选择Preference->B
2016-12-01 23:39:35 3372 1
原创 经典算法学习——非递归遍历二叉树
我们知道二叉树是一种递归定义的数据结构,包括二叉树的创建、遍历、求树高、叶子节点个数等等。使用递归来进行以上操作非常的简便,相关实现请参考 《C语言实现二叉树的基本操作》。但是今天我们剑走偏锋,使用非递归的方式来实现树的先序、中序、后序遍历。实现代码上传至 https://github.com/chenyufeng1991/TraverseBinaryTreeNoRecursion 。(1)非递
2016-10-03 12:28:03 3274
原创 经典算法学习——求二叉树的高度
二叉树是一种递归定义的数据结构,我们对它做的几乎所有的操作都是递归的。求树的高度也是如此。分别求左右子树的高度,然后取较长的子树作为高度。代码上传至 https://github.com/chenyufeng1991/BinaryTreeHeight 。核心代码如下:int BinaryTreeHeight(Node *node){ int treeHeight = 0; if
2016-10-02 21:10:39 17046 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人