mirror of
https://github.com/wahyd4/wahyd4.github.com.git
synced 2026-08-08 21:05:52 +10:00
874 lines
25 KiB
HTML
874 lines
25 KiB
HTML
<!DOCTYPE html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<html class="theme-next gemini use-motion" lang="zh-Hans">
|
|
<head>
|
|
<meta charset="UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
|
<meta name="theme-color" content="#222">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta http-equiv="Cache-Control" content="no-transform" />
|
|
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" />
|
|
|
|
<link href="/css/main.css?v=5.1.2" rel="stylesheet" type="text/css" />
|
|
|
|
|
|
<meta name="keywords" content="java,开源,框架," />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.1.2" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="description" content="作为一个Java程序员,我想我们很多时候都需要和开源(open source software)扯上关系,我不得不说如果我的生活没有开源,肯定会比现在更糟,我们程序员效率一定没有现在这么高。我们通过使用那些著名的开源软件,逐步深入,不断提升了自己的编码水平。也学习了人家的设计功力。 到目前为止我没有设计出或者说贡献出什么开源软件,我自知自己的能力真的还不够。不过我希望哪一天可以为">
|
|
<meta name="keywords" content="java,开源,框架">
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:title" content="那些年我用过的开源软件、框架">
|
|
<meta property="og:url" content="http://toozhao.com/2012/07/01/good-open-source/index.html">
|
|
<meta property="og:site_name" content="大染志">
|
|
<meta property="og:description" content="作为一个Java程序员,我想我们很多时候都需要和开源(open source software)扯上关系,我不得不说如果我的生活没有开源,肯定会比现在更糟,我们程序员效率一定没有现在这么高。我们通过使用那些著名的开源软件,逐步深入,不断提升了自己的编码水平。也学习了人家的设计功力。 到目前为止我没有设计出或者说贡献出什么开源软件,我自知自己的能力真的还不够。不过我希望哪一天可以为">
|
|
<meta property="og:locale" content="zh-Hans">
|
|
<meta property="og:updated_time" content="2014-07-22T08:50:34.000Z">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:title" content="那些年我用过的开源软件、框架">
|
|
<meta name="twitter:description" content="作为一个Java程序员,我想我们很多时候都需要和开源(open source software)扯上关系,我不得不说如果我的生活没有开源,肯定会比现在更糟,我们程序员效率一定没有现在这么高。我们通过使用那些著名的开源软件,逐步深入,不断提升了自己的编码水平。也学习了人家的设计功力。 到目前为止我没有设计出或者说贡献出什么开源软件,我自知自己的能力真的还不够。不过我希望哪一天可以为">
|
|
|
|
|
|
|
|
<script type="text/javascript" id="hexo.configurations">
|
|
var NexT = window.NexT || {};
|
|
var CONFIG = {
|
|
root: '/',
|
|
scheme: 'Gemini',
|
|
version: '5.1.2',
|
|
sidebar: {"position":"left","display":"post","offset":12,"offset_float":12,"b2t":false,"scrollpercent":false,"onmobile":false},
|
|
fancybox: true,
|
|
tabs: true,
|
|
motion: true,
|
|
duoshuo: {
|
|
userId: '0',
|
|
author: '博主'
|
|
},
|
|
algolia: {
|
|
applicationID: '',
|
|
apiKey: '',
|
|
indexName: '',
|
|
hits: {"per_page":10},
|
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
|
|
|
|
<link rel="canonical" href="http://toozhao.com/2012/07/01/good-open-source/"/>
|
|
|
|
|
|
|
|
|
|
|
|
<title>那些年我用过的开源软件、框架 | 大染志</title>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
ga('create', 'UA-5243064-16', 'auto');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="container sidebar-position-left page-post-detail ">
|
|
<div class="headband"></div>
|
|
|
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
|
<div class="header-inner"><div class="site-brand-wrapper">
|
|
<div class="site-meta ">
|
|
|
|
|
|
<div class="custom-logo-site-title">
|
|
<a href="/" class="brand" rel="start">
|
|
<span class="logo-line-before"><i></i></span>
|
|
<span class="site-title">大染志</span>
|
|
<span class="logo-line-after"><i></i></span>
|
|
</a>
|
|
</div>
|
|
|
|
<p class="site-subtitle">想要玩得很 High 的程序员</p>
|
|
|
|
</div>
|
|
|
|
<div class="site-nav-toggle">
|
|
<button>
|
|
<span class="btn-bar"></span>
|
|
<span class="btn-bar"></span>
|
|
<span class="btn-bar"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="site-nav">
|
|
|
|
|
|
|
|
<ul id="menu" class="menu">
|
|
|
|
|
|
<li class="menu-item menu-item-home">
|
|
<a href="/" rel="section">
|
|
|
|
<i class="menu-item-icon fa fa-fw fa-home"></i> <br />
|
|
|
|
首页
|
|
</a>
|
|
</li>
|
|
|
|
|
|
<li class="menu-item menu-item-archives">
|
|
<a href="/archives/" rel="section">
|
|
|
|
<i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
|
|
|
|
归档
|
|
</a>
|
|
</li>
|
|
|
|
|
|
<li class="menu-item menu-item-tags">
|
|
<a href="/tags" rel="section">
|
|
|
|
<i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
|
|
|
|
标签
|
|
</a>
|
|
</li>
|
|
|
|
|
|
<li class="menu-item menu-item-about">
|
|
<a href="/about" rel="section">
|
|
|
|
<i class="menu-item-icon fa fa-fw fa-user"></i> <br />
|
|
|
|
关于
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
</div>
|
|
</header>
|
|
|
|
<main id="main" class="main">
|
|
<div class="main-inner">
|
|
<div class="content-wrap">
|
|
<div id="content" class="content">
|
|
|
|
|
|
<div id="posts" class="posts-expand">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
|
|
|
|
|
|
|
|
<div class="post-block">
|
|
<link itemprop="mainEntityOfPage" href="http://toozhao.com/2012/07/01/good-open-source/">
|
|
|
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
|
<meta itemprop="name" content="Junv">
|
|
<meta itemprop="description" content="">
|
|
<meta itemprop="image" content="http://7ktsrz.com1.z0.glb.clouddn.com/libr.jpg?imageView2/1/w/200/h/200/q/90|imageslim">
|
|
</span>
|
|
|
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
|
<meta itemprop="name" content="大染志">
|
|
</span>
|
|
|
|
|
|
<header class="post-header">
|
|
|
|
|
|
|
|
<h1 class="post-title" itemprop="name headline">那些年我用过的开源软件、框架</h1>
|
|
|
|
|
|
<div class="post-meta">
|
|
<span class="post-time">
|
|
|
|
<span class="post-meta-item-icon">
|
|
<i class="fa fa-calendar-o"></i>
|
|
</span>
|
|
|
|
<span class="post-meta-item-text">发表于</span>
|
|
|
|
<time title="创建于" itemprop="dateCreated datePublished" datetime="2012-07-01T00:00:00+08:00">
|
|
2012-07-01
|
|
</time>
|
|
|
|
|
|
|
|
<span class="post-meta-divider">|</span>
|
|
|
|
|
|
|
|
<span class="post-meta-item-icon">
|
|
<i class="fa fa-calendar-check-o"></i>
|
|
</span>
|
|
|
|
<span class="post-meta-item-text">更新于:</span>
|
|
|
|
<time title="更新于" itemprop="dateModified" datetime="2014-07-22T16:50:34+08:00">
|
|
2014-07-22
|
|
</time>
|
|
|
|
</span>
|
|
|
|
|
|
<span class="post-category" >
|
|
|
|
<span class="post-meta-divider">|</span>
|
|
|
|
<span class="post-meta-item-icon">
|
|
<i class="fa fa-folder-o"></i>
|
|
</span>
|
|
|
|
<span class="post-meta-item-text">分类于</span>
|
|
|
|
|
|
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
|
|
<a href="/categories/我说/" itemprop="url" rel="index">
|
|
<span itemprop="name">我说</span>
|
|
</a>
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</header>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="post-body" itemprop="articleBody">
|
|
|
|
|
|
|
|
|
|
|
|
<p>作为一个Java程序员,我想我们很多时候都需要和开源(open source software)扯上关系,我不得不说如果我的生活没有开源,肯定会比现在更糟,我们程序员效率一定没有现在这么高。我们通过使用那些著名的开源软件,逐步深入,不断提升了自己的编码水平。也学习了人家的设计功力。</p>
|
|
<div><br> 到目前为止我没有设计出或者说贡献出什么开源软件,我自知自己的能力真的还不够。不过我希望哪一天可以为开源世界添砖加瓦,也希望其他童鞋能够加入这个行列。让世界变得更美好。<br></div>
|
|
|
|
<div><br> 下面是我曾经用过的开源软件,可能有些只是简单了解,并不是很熟悉,但是我觉得它很不错也会记录在下面:<br></div>
|
|
|
|
<div><br> ========================== 开发语言 ===============================<br></div>
|
|
|
|
<div><br> <strong>Java </strong> 不多说,正是我现在深入学习,使用的。<br></div>
|
|
|
|
<div><br> <strong>PHP </strong> 适合于快速开发的服务器语言。我只是学习过一些,大概有两三次学习,每次都是学习一点,然后又放弃。最后遗忘。因为我还是喜欢java<br></div>
|
|
|
|
<div><br> <strong>Node.js </strong> 基于js的服务器后台语言框架。其非阻塞的特点,便于开发高性能的网站。开发快速,现在在国内已经开始流行,而且有很多开源的组件,使得node.js的可以实现的功能越来越多,比如著名的express.js 这是提供快速开发网站的支持,自带restful<br></div>
|
|
|
|
<div><br> <strong>C#, C ,</strong>曾经学过,现在已经快忘得差不多。<br></div>
|
|
|
|
<div><br> <strong>javascript </strong> 主要是用于浏览器的脚本语言,现在有了node.js当然也可以用在后台服务器,入门较简单。jquery也是必学。学好这个东西很重要。现在HTML5 的世界,javascript可以做到事越来越多了。基于V8虚拟机,也使得javascipt在chrome的性能提升了很多倍。<br></div>
|
|
|
|
<div><br></div>
|
|
|
|
<div><br> ==================== 工具类 ===================<br></div>
|
|
|
|
<div><br> <strong>Eclipse </strong> 开源java IDE,当然这个IDE也可以用来开发C/C++ ,PHP,ruby等程序,我认为它是世界上最好的集成开发工具。可以通过插件无限扩展其功能。<br></div>
|
|
|
|
<div><br> <strong>netbeans </strong> oracle开发的开源java IDE,不过我认为和eclipse还是有一定差距的。不够好用,而且有点卡。<br></div>
|
|
|
|
<div><br> <strong>notepad++ </strong> 开源的文本编辑器,支撑几乎所有语言的高亮显示,还支持安装各种插件扩展其功能哦。很小巧。<br></div>
|
|
|
|
<div><br> <strong>tomcat </strong> 开源的java servlet容器,轻量级服务器。性能很好。不过很多Java EE的特性程序,是不能在tomcat上运行的。<br></div>
|
|
|
|
<div><br> <strong>Jboss AS </strong> 开源的JAVA 应用服务器,它的功能则强大得多,支持tomcat的所有功能,而且对JAVA EE也提供完整支持,现在最新的jboss AS 7中,加入了OSGI功能,使得它更加强大。<br></div>
|
|
|
|
<div><br> <strong>Jetty </strong> 开源的java servlet容器,你可以把它简单理解和tomcat 差不多,不过它更加小巧,甚至可以内嵌到应用中,小到只有一个包。也就是你的程序可以本身就单独运行,当然需要在程序中加入jetty相关包。<br></div>
|
|
|
|
<div><br> <strong>Aptana </strong> 开源的eclipse插件,功能强大,提供了很多web开发功能,支持主题、内嵌git 插件等,而且它的javascript 辅助功能也更加强大。其他很多功能我还没有用到,但是它值得你开始使用。<br></div>
|
|
|
|
<div><br> <strong>checkstyle</strong> 用于检查代码语法和结构的eclipse插件,它的要求比eclipse自身更加严格,对开发人员的编程规范要求很高,不过可以让你写出的代码质量更高、更易于他人阅读理解。<br></div>
|
|
|
|
<div><br> <strong>findbugs </strong> 检查代码中潜在bug的eclipse插件。我对它使用还不够熟悉,但是它还是很有用,方便你随时检查下代码是否有常见bug。<br></div>
|
|
|
|
<div><br> <strong>MAVEN </strong> 类似于ANT的项目打包、构建工具,也是基于组件式的,你可以通过使用多个maven插件来完成很多功能。使用自动化构建程序等任务,比ant强大很多,同时支持调用ant命令。<br></div>
|
|
|
|
<div><br> <strong>git </strong> 开源的代码版本控制工具。分布式,没有中央服务器照样安全工作。<br></div>
|
|
|
|
<div><br> <strong>chrome</strong> 谷歌浏览器,我通常用它来调试web 应用程序,相当给力啊。<br></div>
|
|
|
|
<div><br> <strong>Nexus </strong> 开源的maven 仓库管理工具,功能很强大。<br></div>
|
|
|
|
<div><br> <strong>Jenkins </strong> 开源的项目自动构建、持续集成服务器。基于Hudson 开发。<br></div>
|
|
|
|
<div><br> <strong>run jetty </strong> 在eclipse 内一键运行jetty的插件,在开发maven项目的使用用起来特别方便。简单,而传统的run on server是做不到这点的。<br></div>
|
|
|
|
<div><br> <strong>M2E </strong> 开源的maven eclipse 插件,提供图形化支撑。<br></div>
|
|
|
|
<div><br></div>
|
|
|
|
<div><br></div>
|
|
|
|
<div><br> =====================java开发框架=======================<br></div>
|
|
|
|
<div><br> <strong>struts </strong> 很著名的控制层框架,不过我不太喜欢<br></div>
|
|
|
|
<div><br> <strong>spring framework</strong> 全世界最好的框架之一,它的能力之强大,使用范围之广。据说它里面的代码实现相当经典,不过还没有拜读。其衍生出的很多框架也很好。比如spring security<br></div>
|
|
|
|
<div><br> <strong>hibernate </strong> 开源的ORM框架,将所有对数据库的 操作都做成操作对象的形式,不过它的弱点在于不能直接使用sql 语句操作,在处理一些比较复杂的查询功能时没有直接操作sql语句简单。很麻烦。<br></div>
|
|
|
|
<div><br> <strong>jgit </strong> git的java实现。很不错哦,在一个eclipse插件里面使用了这个包,这样再也没有狂平台的问题,java帮我解决了一切。<br></div>
|
|
|
|
<div><br> <strong>apache poi </strong> 开源的java api,你可以用它来操作windows 文档:doc,xls,ppt,pdf等等。很方便。以前用它作过导出数据到excel中。<br></div>
|
|
|
|
<div><br> <strong>jersey </strong> 开源的java restful 服务实现。比较简单吧。用起来也舒服。<br></div>
|
|
|
|
<div><br> <strong>apache CXF </strong> 另一个开源的java web services 实现,当然支持标准的rest服务。通过它还有osgi 版本,很前卫。<br></div>
|
|
|
|
<div><br> <strong>dom4j </strong> java的操作xml 的开源类库,有了它读或者写xml文档都很简单。<br></div>
|
|
|
|
<div><br> <strong>apache fileupload </strong> java开源的文件上传插件,很实用,也比较简单。<br></div>
|
|
|
|
<div><br> <strong>log4j </strong> java 开源的日志框架,可以将软件日志写到控制台、外部文件、数据库中<br></div>
|
|
|
|
<div><br> slf4j 另外一个开源的java日志框架,但是它本身并不提供实现,而是提供了接口。如过你想把日志写入外部文件或者数据库还需要配合log4j等其他框架使用。<br></div>
|
|
|
|
<div><br></div>
|
|
|
|
<div><br> ================其他开发框架 =========================<br></div>
|
|
|
|
<div><br> <strong>twitter bootstrap </strong> twitter的开源前端框架,用它开发一个网页界面,超级简单,快速,而且很美哦,兼容性也很好。<br></div>
|
|
|
|
<div><br> <strong>artdialog </strong> 一个中国人写的开源js弹出层框架,很好用,而且也很绚丽。强烈推荐。<br></div>
|
|
|
|
<div><br> <strong>jquery form </strong> 一个开源的jquery form 插件,可以用来执行ajax 表单请求。等等。<br></div>
|
|
|
|
<div><br> <strong>xml2json </strong> 一个用于把xml文档转成json的jquery 插件。js操作json还是更加舒服。<br></div>
|
|
|
|
<div><br> <strong>highcharts </strong> 开源的js图表插件,功能强大,有多种图表,并支持ajax异步强求。<br></div>
|
|
|
|
<div><br> <strong>jquery </strong> 这个强大的js 框架,让js变得更加好用。<br></div>
|
|
|
|
<div><br> jquery UI jquery 的UI控件框架,集成了很多网页UI组件,不过我认为有了twitter bootstrap 此框架少了很多吸引力。<br></div>
|
|
|
|
<div><br> <strong>jquery mobile </strong> 用于移动平台的jquery UI插件,可以把节目做得更像移动平台原生,我感觉目前性能还有待提升。<br></div>
|
|
|
|
<div><br></div>
|
|
|
|
<div><br> 目前只想到这些,文中对开源软件的描述可能有错,欢迎指出,讨论。<br></div>
|
|
|
|
<div><br> 不要重复造轮子。<br></div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<footer class="post-footer">
|
|
|
|
<div class="post-tags">
|
|
|
|
<a href="/tags/java/" rel="tag"># java</a>
|
|
|
|
<a href="/tags/开源/" rel="tag"># 开源</a>
|
|
|
|
<a href="/tags/框架/" rel="tag"># 框架</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="post-nav">
|
|
<div class="post-nav-next post-nav-item">
|
|
|
|
<a href="/2012/07/01/come-back/" rel="next" title="复活??">
|
|
<i class="fa fa-chevron-left"></i> 复活??
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<span class="post-nav-divider"></span>
|
|
|
|
<div class="post-nav-prev post-nav-item">
|
|
|
|
<a href="/2012/07/03/maven-compile-nexus/" rel="prev" title="使用maven编译Sonatype Nexus源码">
|
|
使用maven编译Sonatype Nexus源码 <i class="fa fa-chevron-right"></i>
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</footer>
|
|
</div>
|
|
|
|
|
|
|
|
</article>
|
|
|
|
|
|
|
|
<div class="post-spread">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="comments" id="comments">
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="sidebar-toggle">
|
|
<div class="sidebar-toggle-line-wrap">
|
|
<span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
|
|
<span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
|
|
<span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<aside id="sidebar" class="sidebar">
|
|
|
|
<div class="sidebar-inner">
|
|
|
|
|
|
|
|
|
|
|
|
<section class="site-overview sidebar-panel sidebar-panel-active">
|
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
|
<img class="site-author-image" itemprop="image"
|
|
src="http://7ktsrz.com1.z0.glb.clouddn.com/libr.jpg?imageView2/1/w/200/h/200/q/90|imageslim"
|
|
alt="Junv" />
|
|
<p class="site-author-name" itemprop="name">Junv</p>
|
|
|
|
<p class="site-description motion-element" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</p>
|
|
|
|
</div>
|
|
<nav class="site-state motion-element">
|
|
|
|
|
|
<div class="site-state-item site-state-posts">
|
|
|
|
<a href="/archives/">
|
|
|
|
<span class="site-state-item-count">307</span>
|
|
<span class="site-state-item-name">日志</span>
|
|
</a>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="site-state-item site-state-categories">
|
|
<a href="/categories/index.html">
|
|
<span class="site-state-item-count">69</span>
|
|
<span class="site-state-item-name">分类</span>
|
|
</a>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="site-state-item site-state-tags">
|
|
<a href="/tags/index.html">
|
|
<span class="site-state-item-count">248</span>
|
|
<span class="site-state-item-name">标签</span>
|
|
</a>
|
|
</div>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="links-of-author motion-element">
|
|
|
|
|
|
<span class="links-of-author-item">
|
|
<a href="https://github.com/wahyd4" target="_blank" title="GitHub">
|
|
|
|
<i class="fa fa-fw fa-github"></i>
|
|
|
|
|
|
GitHub
|
|
|
|
</a>
|
|
</span>
|
|
|
|
<span class="links-of-author-item">
|
|
<a href="https://www.linkedin.com/in/junwei-zhao-46944557" target="_blank" title="LinkedIn">
|
|
|
|
<i class="fa fa-fw fa-linkedin"></i>
|
|
|
|
|
|
LinkedIn
|
|
|
|
</a>
|
|
</span>
|
|
|
|
<span class="links-of-author-item">
|
|
<a href="https://stackoverflow.com/users/1140611/junv" target="_blank" title="StackOverflow">
|
|
|
|
<i class="fa fa-fw fa-stack-overflow"></i>
|
|
|
|
|
|
StackOverflow
|
|
|
|
</a>
|
|
</span>
|
|
|
|
<span class="links-of-author-item">
|
|
<a href="http://weibo.com/wahyd4" target="_blank" title="Weibo">
|
|
|
|
<i class="fa fa-fw fa-weibo"></i>
|
|
|
|
|
|
Weibo
|
|
|
|
</a>
|
|
</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</aside>
|
|
|
|
|
|
|
|
</div>
|
|
</main>
|
|
|
|
<footer id="footer" class="footer">
|
|
<div class="footer-inner">
|
|
<div class="copyright" >
|
|
|
|
©
|
|
<span itemprop="copyrightYear">2017</span>
|
|
<span class="with-love">
|
|
<i class="fa fa-heart"></i>
|
|
</span>
|
|
<span class="author" itemprop="copyrightHolder">Junv</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
<div class="back-to-top">
|
|
<i class="fa fa-arrow-up"></i>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
|
|
window.Promise = null;
|
|
}
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
|
|
|
|
|
|
<script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
|
|
|
|
|
|
<script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
|
|
|
|
|
|
<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
|
|
|
|
|
<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
|
|
|
|
|
<script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/js/src/utils.js?v=5.1.2"></script>
|
|
|
|
<script type="text/javascript" src="/js/src/motion.js?v=5.1.2"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/js/src/affix.js?v=5.1.2"></script>
|
|
|
|
<script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.2"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.2"></script>
|
|
<script type="text/javascript" src="/js/src/post-details.js?v=5.1.2"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.2"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|