- SpringAOP
TMesh
java开发语言spring
文章目录AOP的底层实现AOP的动态代理技术JDK的动态代理cglib的动态代理AOP相关概念AOP开发明确的事项需要编写的内容AOP技术实现的内容AOP底层使用哪种代理方式要点基于XML的AOP开发导入AOP相关坐标创建目标接口和目标类(内部有切点)创建切面类(内部有增强方法)将目标类和切面类的对象创建权交给spring在applicationContext.xml中配置织入关系在applica
- html做成小程序,微信小程序——简单静态网页的制作
WeQuant-Jason
html做成小程序
一、前言需要知识:HTMLCSS注意:微信小程序的语法与HTML和CSS不太相同,但本质是一样的。要求:进入开发者工具并且创建一个测试小程序,选择建立快速模板在pages目录底下新建一个first的文件夹,其中包括指定的四个文件,并且设置第一个页面为first页面3.在first.wxml里制作如图ui界面,采用盒模型以及flex布局4.用户头像和待付款等四个圆圈统一用黑色的圆圈表示5.用户id和
- 01.Spring 框架的演化:从 XML 配置到注解驱动
月落霜满天
Javajava开发语言spring
Spring框架的演化:从XML配置到注解驱动本文参考自:https://www.pdai.tech/md/spring/spring-x-framework-helloworld.htmlSpring框架演化历程Spring框架自诞生以来经历了显著的演变,主要体现在配置方式的变革上。这一演化过程从XML配置、XML+注解混合配置、Java配置到纯注解配置,每一步都使开发变得更加简洁高效。通过分析
- AJAX原理与XMLHttpRequest
旺代
ajaxokhttp前端
目录一、XMLHttpRequest使用步骤基本语法步骤1:创建XHR对象步骤2:调用open()方法步骤3:监听loadend事件步骤4:调用send()方法二、完整示例1.GET请求(带查询参数)2.POST请求(提交JSON数据)三、关键注意事项四、URLSearchParams1.URLSearchParams的作用2.代码示例解析3.URLSearchParams常用方法1.添加参数2.
- Next.js 站点地图生成器教程
章雍宇
Next.js站点地图生成器教程nextjs-sitemap-generatorGeneratesitemap.xmlfromnextjspages项目地址:https://gitcode.com/gh_mirrors/ne/nextjs-sitemap-generator项目介绍nextjs-sitemap-generator是一个用于生成站点地图(sitemap)的开源工具,特别适用于使用Ne
- Next.js Sitemap Generator 项目常见问题解决方案
袁耿浩
Next.jsSitemapGenerator项目常见问题解决方案nextjs-sitemap-generatorGeneratesitemap.xmlfromnextjspages项目地址:https://gitcode.com/gh_mirrors/ne/nextjs-sitemap-generator项目基础介绍Next.jsSitemapGenerator是一个为Next.js项目生成站点
- Next.js Sitemap 生成器:为你的 Next.js 项目构建站点地图
颜钥杉Harriet
Next.jsSitemap生成器:为你的Next.js项目构建站点地图nextjs-sitemap-generatorGeneratesitemap.xmlfromnextjspages项目地址:https://gitcode.com/gh_mirrors/ne/nextjs-sitemap-generatorNext.jsSitemap生成器是一个开源项目,旨在帮助Next.js开发者轻松生成
- Uni-app 与 微信小程序开发者工具对比
@程序员ALMJ
uni-app微信小程序小程序
主要区别对比维度Uni-app微信小程序开发者工具开发语言Vue.js语法微信小程序原生语法(WXML/WXSS/JS)跨平台能力一套代码可编译到微信小程序、H5、App等多端仅针对微信小程序学习曲线需学习Vue.js,但对Vue开发者友好需学习微信特有语法组件库可使用uni-ui等跨平台组件库只能使用微信官方组件或自定义组件社区生态Vue生态丰富,插件较多微信官方生态,专注小程序调试工具依赖各平
- MyBatis SqlSessionFactory 批量执行实战
dazhong2012
springbootmybatis
在MyBatis中,批量操作是处理高并发数据写入的核心场景之一。通过SqlSessionFactory配置批处理执行器(ExecutorType.BATCH),可以显著提升数据库操作的效率。本文将结合Spring框架,深入解析如何高效配置和使用MyBatis的批量执行功能,并提供性能优化策略。一、SqlSessionFactory基础配置1.添加依赖在pom.xml中引入MyBatis-Sprin
- ROS2 安卓手机传感器桥接器(Mobile Sensor Bridge for ROS2)
强化学习与机器人控制仿真
机器人人工智能深度学习开发语言自动驾驶stm32opencv
系列文章目录目录系列文章目录前言一、概述二、功能三、前提条件四、安装五、使用方法六、ROS2主题七、功能状态八、故障排除8.1移动浏览器显示ERR_EMPTY_RESPONSE前言该软件包提供了一个ROS2节点,可直接从安卓智能手机流式传输传感器数据,包括JPEG相机流(最高30FPS)、空间姿态跟踪和双向音频通信。一、概述机器人原型通常需要多个传感器,每个传感器都需要标定和集成。本软件包通过将传
- Android开发协调布局滑动悬停
893151960
android开发日记androidAndroid开发Android教程Android协调布局Android悬停效果
Android开发协调布局滑动悬停直接给个xml,防止下次忘了怎么写。
提高开发效率:在IntelliJ IDEA中使用Arthas实现Java热部署
小柒笔记
java
在Java开发中,热部署(HotSwap)是一种能够在不重启服务器的情况下更新应用程序代码的技术。这对于提高开发效率和减少因重启导致的停机时间至关重要。Arthas是一个开源的Java诊断工具,它提供了丰富的功能,包括热部署。本文将详细介绍如何在IntelliJIDEA中使用Arthas实现热部署。Arthas简介Arthas是一个由阿里巴巴开源的Java诊断工具,它主要用于诊断线上问题,提供实时
- kotlin + spirngboot3 + spring security6 配置登录与JWT
zimoyin
kotlinspring开发语言
1.导包implementation("com.auth0:java-jwt:3.14.0")implementation("org.springframework.boot:spring-boot-starter-security")配置用户实体类@Entity@Table(name="users")dataclassUser(@Id@GeneratedValue(strategy=Genera
- Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍
Java白菜治
Java学习#开发技能mavenxmljavapom.xml
文章目录前言Maven常用命令1.clean2.vaildate3.compile4.test5.package6.verify7.install8.site9.deploypom.xml标签详解格式(xml版本和编码)modelVersion(xml版本)groupId(项目的组名,通常是反转的域名,比如com.example)artifactId(项目唯一标识符,通常是项目的名称)versio
- 雅思练习总结(二十七)
空 白II
marmeid编程英语学习英语学习单词总结结构分析
雅思练习总结(二十七)本文章是雅思练习总结(二十七),总结了文章《EDUCATINGPSYCHE》,内容包括原文精翻,文章脉络总结,单词扩展学习3个部分1文章原文及翻译EDUCATINGPSYCHE翻译:教育心理学EducatingPsychebyBernieNevilleisabookwhichlooksatradicalnewapproachestolearning,describingthe
- ASP.NET Core中 JWT 实现无感刷新Token
LongtengGensSupreme
asp.net后端
在Web应用开发中,用户登录状态的管理至关重要。为了避免用户频繁遇到登录过期的问题,我们可以通过实现JWT(JSONWebToken)刷新机制来提升用户体验推荐:使用RefreshToken(双Token机制)1.生成和使用双Token通常会生成两种Token:访问Token(AccessToken)和刷新Token(RefreshToken)。•访问Token:用于客户端与服务器之间的身份验证,
- 无痛学习ISAC(一)
欧吼小天才
学习
学习《TowardsMulti-Functional6GWirelessNetworks:IntegratingSensing,CommunicationandSecurity》笔记名词注释Integratedsensingandcommunication(ISAC):通感一体Paradigmrevolution:范式革命由库恩提出的科学演进形式,大概应该是认为科学演进是伴随观念更新的跳跃式发展S
- Spring Boot 中 Bean 实例化的实现方式详解
m0_72696598
java开发语言
一、传统Spring的Bean配置方式在传统Spring框架中,Bean的实例化需要显式配置,常见方式如下:XML配置(老旧方式)在applicationContext.xml中通过标签定义Bean:运行HTMLJava配置类(Spring3.0+)使用@Configuration和@Bean注解定义Bean:@ConfigurationpublicclassAppConfig{@Beanpubl
- Android开发——简单计算器实现
智能云
Androidandroid
计算器项目,要求实现加、减、乘、除、求倒数、求平方根等简单运算。真机调试结果如下图:布局文件:main_activity.xml活动页面:MainActivity.javapackagecom.example.calculator;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid
- C# dll 打包进exe
lljss2020
C#c#开发语言
Framework4.x推荐使用Costura.Fody1.安装NuGet包Install-PackageCostura.Fody工程自动生成packages文件夹,300M左右。生成FodyWeavers.xml、FodyWeavers.xsd文件。2.自动嵌入编译后,所有依赖的DLL会被自动嵌入到EXE中。运行时自动解压到内存(默认)或临时目录。
- Spring 线程池配置
暴走编程
JAVA专栏springjava
Spring通过ThreadPoolTaskExecutor实现线程池技术,它是使用JDK中的java.util.concurrent.ThreadPoolExecutor进行实现;Spring配置线程池,两种方式:方式1:XML中配置bean配置解析:新任务启动时:如果此时线程池中的数量小于corePoolSize,即使线程池中的线程都处于空闲状态,也要创建新的线程来处理被添加的任务;如果此时线
- 网站sitemap的应用逻辑
CsharpDev-奶豆哥
c#xml
网站地图(Sitemap)是一个XML文件,用于向搜索引擎提供网站页面的信息,帮助搜索引擎更好地抓取和索引网站内容。以下是网站Sitemap的应用逻辑和实现方式。1.Sitemap的作用提高搜索引擎抓取效率:通过Sitemap,搜索引擎可以更高效地发现和抓取网站页面。支持动态内容:对于动态生成的页面(如博客、新闻网站),Sitemap可以确保搜索引擎及时抓取新内容。支持多媒体内容:Sitemap可
- URL Scheme某书的AndroidManifest.xml
weifeng3349
xml
反编译出来的关于xhs的AndroidManifest.xml,可以从中找到涉及的Scheme(IOS)/intent(安卓)地址,并附带(autox.js/按键精灵/uni-app/easyClick)的调用方法例子这位大佬已经给大家整理了一部分出来了X书Scheme跳转到指定页面_xhsdiscover:-CSDN博客xhsdiscover://account/bind/’,//账号与安全xh
- C语言学习笔记(week2)2-24 3-2
05020810
每周笔记c语言学习笔记
22数组指针变量指向整个数组的指针int(*p)[5]其中(*p)说明p是一个指针变量,[5]说明p指向的是一整个数组,5代表元素个数,int代表指向这个数组里边存放的元素的数据类型intarr[6]={1,2,3,4,5,6};int(*p)[6]=&arr;for(inti=0;i0&&input0){my_swap(((char*)base+j*width),((char*)base+(j+
- C语言实现冒泡排序和快速排序
Y雨何时停T
c语言排序算法学习快速排序冒泡排序
写在前面的话:以排升序为例目录冒泡排序单趟循环优化快速排序单趟递归优化不足冒泡排序通过重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。单趟单趟会通过两两比较的方式将数组中最大的元素排到末尾for(intj=0;jnums[j+1]){Swap(&nums[j],&nums[j+1]
- 都2025了,还有人问CISP认证值得考吗?
博睿谷IT99_
cisp认证网络信息安全cisp
一、CISP认证概述CISP(CertifiedInformationSecurityProfessional)是由中国信息安全测评中心(CNITSEC)颁发的国家级信息安全资质认证,旨在培养符合国内信息安全领域要求的专业人才。该认证覆盖信息安全管理、技术、工程等领域,适用于政府机构、金融、能源、通信等行业的网络安全岗位,是国内企业招标、合规审计的重要资质凭证。二、CISP报考条件1.学历与工作
- 高并发应用分层架构
HappRobot
系统架构
高并发应用的分层架构是一种将系统划分为多个逻辑层的设计方法,每一层专注于特定的功能,便于开发、维护和扩展。分层架构的核心思想是解耦和职责分离,通过清晰的层次划分,提高系统的可扩展性、性能和可维护性。以下是高并发应用分层架构的常见模式及其具体实现:一、典型的高并发应用分层架构高并发应用通常分为以下几层:1.接入层(AccessLayer)职责:处理用户请求的接入和分发。功能:负载均衡:将请求均匀分发
- 常见的 API 设计风格
HappRobot
API风格restful
在软件开发中,常见的API设计风格主要有以下几种,每种风格适用于不同的场景和需求:1.RESTfulAPI(主流)特点:基于HTTP协议,使用标准方法(GET/POST/PUT/DELETE)资源导向(URI表示资源,如/users)无状态、可缓存、统一接口通常返回JSON/XML适用场景:公开的Web服务(如GitHubAPI)前后端分离架构需要简单、易理解的接口示例:GET/api/users
- thinkphp接入支付宝微信核心代码
瑆箫
javascript前端ajax
微信:classWxpayMobileextendsAction{//在类初始化方法中,引入相关类库publicfunction_initialize(){header("Content-type:text/html;charset=utf-8");vendor('WxPayPubHelper.SDKRuntimeException');define("APPID",C('WX_APPID'));
- 屏幕共享技术及相关软件使用测评
Turbomeeting
视频会议桌面共享软件屏幕共享软件电脑桌面共享手机屏幕分享电脑屏幕分享
一、屏幕共享概念:屏幕共享,英文叫做DesktopSharing,维基百科里是这样定义的:Desktopsharingisacommonnamefortechnologiesandproductsthatallowremoteaccessandremotecollaborationonaperson’scomputerdesktopthroughagraphicalterminalemulator
- 解读Servlet原理篇二---GenericServlet与HttpServlet
周凡杨
javaHttpServlet源理GenericService源码
在上一篇《解读Servlet原理篇一》中提到,要实现javax.servlet.Servlet接口(即写自己的Servlet应用),你可以写一个继承自javax.servlet.GenericServletr的generic Servlet ,也可以写一个继承自java.servlet.http.HttpServlet的HTTP Servlet(这就是为什么我们自定义的Servlet通常是exte
- MySQL性能优化
bijian1013
数据库mysql
性能优化是通过某些有效的方法来提高MySQL的运行速度,减少占用的磁盘空间。性能优化包含很多方面,例如优化查询速度,优化更新速度和优化MySQL服务器等。本文介绍方法的主要有:
a.优化查询
b.优化数据库结构
- ThreadPool定时重试
dai_lm
javaThreadPoolthreadtimertimertask
项目需要当某事件触发时,执行http请求任务,失败时需要有重试机制,并根据失败次数的增加,重试间隔也相应增加,任务可能并发。
由于是耗时任务,首先考虑的就是用线程来实现,并且为了节约资源,因而选择线程池。
为了解决不定间隔的重试,选择Timer和TimerTask来完成
package threadpool;
public class ThreadPoolTest {
- Oracle 查看数据库的连接情况
周凡杨
sqloracle 连接
首先要说的是,不同版本数据库提供的系统表会有不同,你可以根据数据字典查看该版本数据库所提供的表。
select * from dict where table_name like '%SESSION%';
就可以查出一些表,然后根据这些表就可以获得会话信息
select sid,serial#,status,username,schemaname,osuser,terminal,ma
- 类的继承
朱辉辉33
java
类的继承可以提高代码的重用行,减少冗余代码;还能提高代码的扩展性。Java继承的关键字是extends
格式:public class 类名(子类)extends 类名(父类){ }
子类可以继承到父类所有的属性和普通方法,但不能继承构造方法。且子类可以直接使用父类的public和
protected属性,但要使用private属性仍需通过调用。
子类的方法可以重写,但必须和父类的返回值类
- android 悬浮窗特效
肆无忌惮_
android
最近在开发项目的时候需要做一个悬浮层的动画,类似于支付宝掉钱动画。但是区别在于,需求是浮出一个窗口,之后边缩放边位移至屏幕右下角标签处。效果图如下:
一开始考虑用自定义View来做。后来发现开线程让其移动很卡,ListView+动画也没法精确定位到目标点。
后来想利用Dialog的dismiss动画来完成。
自定义一个Dialog后,在styl
- hadoop伪分布式搭建
林鹤霄
hadoop
要修改4个文件 1: vim hadoop-env.sh 第九行 2: vim core-site.xml <configuration> &n
- gdb调试命令
aigo
gdb
原文:http://blog.csdn.net/hanchaoman/article/details/5517362
一、GDB常用命令简介
r run 运行.程序还没有运行前使用 c cuntinue
- Socket编程的HelloWorld实例
alleni123
socket
public class Client
{
public static void main(String[] args)
{
Client c=new Client();
c.receiveMessage();
}
public void receiveMessage(){
Socket s=null;
BufferedRea
- 线程同步和异步
百合不是茶
线程同步异步
多线程和同步 : 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法
多线程和异步:多线程可以做不同的事情,涉及到线程通知
&
- JSP中文乱码分析
bijian1013
javajsp中文乱码
在JSP的开发过程中,经常出现中文乱码的问题。
首先了解一下Java中文问题的由来:
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,
- js实现页面跳转重定向的几种方式
bijian1013
JavaScript重定向
js实现页面跳转重定向有如下几种方式:
一.window.location.href
<script language="javascript"type="text/javascript">
window.location.href="http://www.baidu.c
- 【Struts2三】Struts2 Action转发类型
bit1129
struts2
在【Struts2一】 Struts Hello World http://bit1129.iteye.com/blog/2109365中配置了一个简单的Action,配置如下
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configurat
- 【HBase十一】Java API操作HBase
bit1129
hbase
Admin类的主要方法注释:
1. 创建表
/**
* Creates a new table. Synchronous operation.
*
* @param desc table descriptor for table
* @throws IllegalArgumentException if the table name is res
- nginx gzip
ronin47
nginx gzip
Nginx GZip 压缩
Nginx GZip 模块文档详见:http://wiki.nginx.org/HttpGzipModule
常用配置片段如下:
gzip on; gzip_comp_level 2; # 压缩比例,比例越大,压缩时间越长。默认是1 gzip_types text/css text/javascript; # 哪些文件可以被压缩 gzip_disable &q
- java-7.微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如 h1 , h2 ,判断这俩个链表是否相交
bylijinnan
java
public class LinkListTest {
/**
* we deal with two main missions:
*
* A.
* 1.we create two joined-List(both have no loop)
* 2.whether list1 and list2 join
* 3.print the join
- Spring源码学习-JdbcTemplate batchUpdate批量操作
bylijinnan
javaspring
Spring JdbcTemplate的batch操作最后还是利用了JDBC提供的方法,Spring只是做了一下改造和封装
JDBC的batch操作:
String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";
- [JWFD开源工作流]大规模拓扑矩阵存储结构最新进展
comsci
工作流
生成和创建类已经完成,构造一个100万个元素的矩阵模型,存储空间只有11M大,请大家参考我在博客园上面的文档"构造下一代工作流存储结构的尝试",更加相信的设计和代码将陆续推出.........
竞争对手的能力也很强.......,我相信..你们一定能够先于我们推出大规模拓扑扫描和分析系统的....
- base64编码和url编码
cuityang
base64url
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
- web应用集群Session保持
dalan_123
session
关于使用 memcached 或redis 存储 session ,以及使用 terracotta 服务器共享。建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,不只是缓存 session,还可以做其他用途,一举几得啊。1、使用 filter 方法存储这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于tomcat ,而且实现的原理比较简
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
dcj3sjt126com
数据库
public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCo
- solr StatsComponent(聚合统计)
eksliang
solr聚合查询solr stats
StatsComponent
转载请出自出处:http://eksliang.iteye.com/blog/2169134
http://eksliang.iteye.com/ 一、概述
Solr可以利用StatsComponent 实现数据库的聚合统计查询,也就是min、max、avg、count、sum的功能
二、参数
- 百度一道面试题
greemranqq
位运算百度面试寻找奇数算法bitmap 算法
那天看朋友提了一个百度面试的题目:怎么找出{1,1,2,3,3,4,4,4,5,5,5,5} 找出出现次数为奇数的数字.
我这里复制的是原话,当然顺序是不一定的,很多拿到题目第一反应就是用map,当然可以解决,但是效率不高。
还有人觉得应该用算法xxx,我是没想到用啥算法好...!
还有觉得应该先排序...
还有觉
- Spring之在开发中使用SpringJDBC
ihuning
spring
在实际开发中使用SpringJDBC有两种方式:
1. 在Dao中添加属性JdbcTemplate并用Spring注入;
JdbcTemplate类被设计成为线程安全的,所以可以在IOC 容器中声明它的单个实例,并将这个实例注入到所有的 DAO 实例中。JdbcTemplate也利用了Java 1.5 的特定(自动装箱,泛型,可变长度
- JSON API 1.0 核心开发者自述 | 你所不知道的那些技术细节
justjavac
json
2013年5月,Yehuda Katz 完成了JSON API(英文,中文) 技术规范的初稿。事情就发生在 RailsConf 之后,在那次会议上他和 Steve Klabnik 就 JSON 雏形的技术细节相聊甚欢。在沟通单一 Rails 服务器库—— ActiveModel::Serializers 和单一 JavaScript 客户端库——&
- 网站项目建设流程概述
macroli
工作
一.概念
网站项目管理就是根据特定的规范、在预算范围内、按时完成的网站开发任务。
二.需求分析
项目立项
我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。
客户的需求说明书
第一步是需
- AngularJs 三目运算 表达式判断
qiaolevip
每天进步一点点学习永无止境众观千象AngularJS
事件回顾:由于需要修改同一个模板,里面包含2个不同的内容,第一个里面使用的时间差和第二个里面名称不一样,其他过滤器,内容都大同小异。希望杜绝If这样比较傻的来判断if-show or not,继续追究其源码。
var b = "{{",
a = "}}";
this.startSymbol = function(a) {
- Spark算子:统计RDD分区中的元素及数量
superlxw1234
sparkspark算子Spark RDD分区元素
关键字:Spark算子、Spark RDD分区、Spark RDD分区元素数量
Spark RDD是被分区的,在生成RDD时候,一般可以指定分区的数量,如果不指定分区数量,当RDD从集合创建时候,则默认为该程序所分配到的资源的CPU核数,如果是从HDFS文件创建,默认为文件的Block数。
可以利用RDD的mapPartitionsWithInd
- Spring 3.2.x将于2016年12月31日停止支持
wiselyman
Spring 3
Spring 团队公布在2016年12月31日停止对Spring Framework 3.2.x(包含tomcat 6.x)的支持。在此之前spring团队将持续发布3.2.x的维护版本。
请大家及时准备及时升级到Spring
- fis纯前端解决方案fis-pure
zccst
JavaScript
作者:zccst
FIS通过插件扩展可以完美的支持模块化的前端开发方案,我们通过FIS的二次封装能力,封装了一个功能完备的纯前端模块化方案pure。
1,fis-pure的安装
$ fis install -g fis-pure
$ pure -v
0.1.4
2,下载demo到本地
git clone https://github.com/hefangshi/f