- 用selenium爬取拉钩网的职位信息
wg5foc08
Python
拉钩网的职位信息数据为ajax数据,抓取ajax数据可以直接分析数据的url接口,但是直接用requests库发送url请求会被拉钩网识别出来。1.可以通过session保存会话信息模拟请求,这时可以爬取部分信息数据,但是仍然不能爬取大量的或者完整的数据2.用selenium模拟浏览器爬取拉钩网的数据,可以完整的爬取本文拟爬取的url代码1:importrequestsfromlxmlimport
- Qt——Qt控件之输入窗口-QTextEdit文本编辑框控件的使用总结(例程:文本编辑输入)
Winter_world
QT开发实战qt开发语言QTextEdit控件Qt文本编辑控件的使用
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《项目案例分享》《极客DIY开源分享》《嵌入式通用开发实战》《C++语言开发基础总结》《从0到1学习嵌入式Linux开发》《QT开发实战》《Android开发实战》《实用硬件方案设计》《结构建模设计》《数据库开发总结》《JAVA入门基础》《JavaWeb开发实战》长期持续带来更多案例与技术文章分享;欢迎商业项目咨询,10年+软
- netty详细使用
酷爱码
编程学习netty
Netty是一个基于Java的高性能网络应用框架,主要用于快速开发高性能的网络通信应用程序。以下是Netty的详细使用步骤:添加Netty依赖:在项目的pom.xml中添加Netty的依赖项,例如:io.nettynetty-all4.1.66.Final创建Netty服务器:编写一个Netty服务器应用程序,监听指定的端口,并处理网络请求。以下是一个简单的示例:publicclassNettyS
- Android面试题-多线程(99题)
猎羽
Android面试题面试题android
Android面试题之多线程,包括线程、Java同步问题、阻塞队列、线程池、AsyncTask、HandlerThread、IntentService等内容。本文是我一点点归纳总结的干货,但是难免有疏忽和遗漏,希望不吝赐教。转载请注明链接:https://blog.csdn.net/feather_wch/article/details/81207725有帮助的话请点个赞!万分感谢!Android
- 06C语言基础-文件读取
LJLThomson
C/C++基础c++
C语言基础1.共用体union1:共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型2:您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值3.共用体占用的内存应足够存储共用体中最大的成员总结:共用体取成员最大字节,存储多种不同类型数据,但是每次存储,都会影响之前存储的数据,#include#includeunionData{inti;floatf;charstr[
- MobSF(Mobile Security Framework) 的详细介绍、安装指南、配置说明
程序员的世界你不懂
效率工具提升新浪微博测试工具百度
MobSF:移动应用安全分析的全能框架一、MobSF简介MobSF是一款开源的移动应用安全测试框架,专为Android和iOS应用设计。它集成了静态代码分析、动态调试、恶意软件检测、网络流量分析等功能,适用于渗透测试、漏洞挖掘和安全合规审计。其核心优势包括:跨平台支持:兼容Android/iOS应用(APK/IPA文件及安装包)。自动化分析:快速识别常见漏洞(如SQL注入、XSS、越界访问)。可视
- Appium自动化测试框架
码农黛兮_46
软件测试appium自动化测试工具
Appium自动化测试框架1、Appium简介1.1Appium概念Appium是一个开源的移动端自动化测试工具,适用于移动端原生APP、移动WebAPP或混合APP的自动化测试; Appium继承了Selenium(Web端自动化测试工具),应用WebDriver(JSONwireprotocol)技术,借助操作系统自带的测试框架来驱动Android和IOS应用。特点:Appium是一个开源、跨
- [Meachines] [Easy] Explore Android ES File Explorer+adb权限提升
Мартин.
HackTheBoxandroidelasticsearchadb
InformationGatheringIPAddressOpeningPorts10.10.10.247TCP:2222,38637,42135,59777$ip='10.10.10.247';itf='tun0';ifnmap-Pn-sn"$ip"|grep-q"Hostisup";thenecho-e"\e[32m[+]Target$ipisup,scanningports...\e[0m"
- 微信小程序----图片点击放大展示(以及下载本地功能)
鸭鸭梨吖
微信小程序小程序
wxml:{{item.originalName}}下载js文件(点击放大):tapPreviewImage(e){leturl=e.currentTarget.dataset.urlwx.previewImage({urls:[url],current:url})},tapOpenFile(e){leturl=e.currentTarget.dataset.urlwx.downloadFile(
- uniapp调用Android原生NFC进行读写操作
数学分析分析什么?
uniapp相关Android相关uni-appnativeappnfc
进行读操作请刷卡读取数据varNfcAdapter;varMifareClassic;exportdefault{components:{uniPopup},data(){return{formData:{bind_code:'',tagid:'',time:null,show:false,}}},methods:{open(){//开启阴影遮罩前检查NFC状态varmain=plus.andro
- 【Qt】23 布局管理器(二) QBoxLayout QGridLayout
c++
一、布局管理器布局管理器中的比例系数默认情况下以等比例的方式更新组件大小可以自定义组件大小更新时的比例系数QBoxLayout中的比例系数设置voidsetStretch(intindex,intstretch)//格子对应的比例系数boolsetStretchFactor(Qwidget*widget,intstretch)//组件比例系数boolsetStretchFactor(QLayout
- 【Qt】24 布局管理器(三) QFormLayout
c++
一、问题解决方案:(1)绝对定位组件的坐标和大小(2)嵌套QBoxLayout(3)创建3*2的QGridLayout二、布局管理器QformLayout布局管理器以表单(Form)的方式管理界面组件表单布局中的标签和组件是相互对应的关系QFormLayout的用法概要表单布局支持嵌套,其他布局管理器可以作为子布局被其管理。三、编程实验24-2.proQformLayout的实现实例#includ
- 【Qt】25 布局管理器(四)QStackedLayout 计时器
c++
一、最特别的布局管理器栈式布局管理器(QStackedLayout)所有组件在垂直于屏幕的方向上被管理每次只有一个组件会显示在屏幕上只有最顶层的组件会被最终显示栈式布局管理器的特点组件大小一致且充满组件的显示区不能直接嵌套其他布局管理器能够自由切换需要显示的组件每次能且进行显示一个组件QStackedLayout的用法概要intaddWidge(QWidget*widget)//加入需要管理的组件
- langchai4j结合zhipu-ai生成图片
llm
序本文主要研究一下怎么通过langchai4j结合zhipu-ai生成图片步骤pom.xmldev.langchain4jlangchain4j-community-zhipu-ai1.0.0-beta1config@ConfigurationpublicclassImageConfig{@BeanpublicZhipuAiImageModelzhipuAiImageModel(@Value("$
- Go入门之struct
可爱de艺艺
golang开发语言后端
类型别名varbmyFloat=12.3fmt.Printf("%f,%T",b,b)结构体为值类型初始化typePersonstruct{namestringageintsexstring}funcmain(){varp1Personp1.name="张三"p1.sex="男"p1.age=20fmt.Printf("%v,%T\n",p1,p1)fmt.Printf("%#v,%T\n",p1
- Android 轻量级双向 IPC 通信 Messenger
SunshineBoy的博客
面试专栏android
Service服务端示例://MessengerService.ktclassMessengerService:Service(){//处理客户端消息的Handlerprivatevalhandler=object:Handler(Looper.getMainLooper()){overridefunhandleMessage(msg:Message){when(msg.what){MSG_SAY
- python3.8安装lxml库,Python3爬虫利器之lxml解析库的安装
Intopia
lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。本节中,我们了解一下lxml的安装方式,这主要从Windows、Linux和Mac三大平台来介绍。1.相关链接官方网站:http://lxml.deGitHub:https://github.com/lxml/lxmlPyPI:https://pypi.python.org/pypi/lxm
- android开发:web页面唤起其他应用app
士心山
Androidwebviewandroidwebview网页唤醒app
如何在webview加载的网页,唤醒其他应用app?具体步骤:第一步:打开AndroidMenifest.xml文件,添加下面代码关键代码:第二步:创建html文件,测试启动应用程序格式:启动应用程序各个项目含义如下所示:scheme:判别启动的App。host:适当记述path:传值时必须的key※没有也可以query:获取值的Key和Value※没有也可以参考网站详解如何通过H5(浏览器/We
- Python从0到100(三十三):xpath和lxml类库
是Dream呀
python开发语言
1.为什么要学习xpath和lxmllxml是一款高性能的PythonHTML/XML解析器,我们可以利用XPath,来快速的定位特定元素以及获取节点信息2.什么是xpathXPath,全称为XMLPathLanguage,是一种用于在XML文档中进行导航和数据提取的语言,可用来在HTML\XML文档中对元素和属性进行遍历。W3School官方文档:http://www.w3school.com.
- Linux下部署war包项目不通过项目名访问
黎智程
tomcattomcat
部署到linux下直接通过域名进行访问,这里涉及到tomcat的两个知识点需要将端口号改为80,项目名去掉,首先找到linux下的tomcat文件夹中的conf文件夹中有一个service.xml配置,打开找到原先port=”8080”改成80,没有URIEncoding=”UTF-8”加上这句现在是不需要输入端口号,直接输入地址即可。一般情况下访问域名都没有输入项目名,接下来需要做两个步骤,同样
- Android Studio导入外部项目时一定要使用New--Import Project 不要选Open 特别是github项目
小黄人软件
deepseekandroidstudio
AndroidStudio导入外部项目时一定要使用New–ImportProject不要选OpenNew–ImportProject适用于与本地环境不一致的项目之前在本地运行成功才选Open
- 【JS】前端文件读取FileReader操作总结
m0_74825447
vip1024p前端javascript开发语言
前言:开发中经常遇到文件上传的场景,有时需要前端将文件内容读取出来再以base64格式传到接口。目录FileReader主要方法readAsArrayBuffer(blob)readAsText(blob,[encoding])readAsDataURL(blob)主要事件React+antdUpload组件示例FileReaderFileReader是一个对象,允许Web应用程序异步读取存储在用
- 在Spring Boot项目中使用Redisson实现延迟执行
田猿笔记
springbootspringbootjava
提供一个完整的示例,演示如何在SpringBoot项目中使用Redisson实现延迟执行。1.添加Redisson依赖:在你的`pom.xml`文件中添加Redisson的依赖: org.redisson redisson-spring-boot-starter 3.16.42.配置Redisson:在`application.properties`或`application.yml`文件中配置R
- Python文件操作与面向对象
午觉千万别睡过
Pythonpython
文件操作文件操作open函数open(file,model,encoding)上述函数中:file:待操作文件路径model:打开文件的格式,程序默认是rmodel:r(读)w(写)wb(书写字节文件)rb(读取字节文件)a(追加写入)(所有这些字母的后面加上一个+则表示即可读又可写)encoding:gbk\utf-8说明:a表示追加写入,追加写入的意思是不会覆盖掉原有的内容。如果model对应
- idea阿里云maven配置
吃en橙
intellij-idea阿里云maven
一、下载阿里云setting配置文件百度网盘链接:链接:https://pan.baidu.com/s/1FANQ7WePTZg-2LEgNkEMew提取码:hwtv二、解压文件,移动settings文件将其中的settings.xml文件放到如下目录:C->User(用户)->Administrator->.m2文件夹下
- Android蓝牙通讯开发指南
缘来的精彩
androidBluetooth
在Android平台上进行蓝牙通讯开发涉及多个步骤,包括权限申请、设备发现、连接、数据传输等。以下是开发蓝牙通讯的基本流程和关键点:1.权限申请首先,在AndroidManifest.xml文件中声明蓝牙相关的权限:运行HTML从Android6.0(API23)开始,访问位置信息需要动态申请权限:if(ContextCompat.checkSelfPermission(this,Manifest
- 深度解析Android平台Camera2与大牛直播SDK的对接及应用
音视频牛哥
GB28181接入RTMP推流轻量级RTSP服务音视频实时音视频gb28181camera2相对cameracamera2rtrmpcamera2rtspcamera2直播
在移动互联网时代,实时视频采集、编码、推流和设备接入等技术在直播、安防监控等领域得到了广泛应用。本文将深入探讨如何在Android平台上利用Camera2API采集摄像头数据,并结合大牛直播SDK的RTMP推送模块、轻量级RTSP服务模块以及GB28181设备接入模块,实现高效稳定的视频处理和设备接入功能。一、Camera2API的优势与应用1.Camera2API的优势Camera2API是An
- 出现 has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the 解决方法
码农研究僧
BUGPythonBugCORS跨源
目录1.问题所示2.原理分析3.解决方法1.问题所示执行代码的时候出现如下提示:AccesstoXMLHttpRequestat'http://127.0.0.1:5000/api/data'fromorigin'http://10.197.0.79:8080'hasbeenblockedbyCORSpolicy:No'Access-Control-Allow-Origin'headerispre
- A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction 报错
Dic-
#AndroidStudioIDE单元测试androidstudioandroidide编译报错单元测试JUnitAndroidJUnit
问题AndroidStudio编译应用报错:>Task:mergeDebugJavaResourceFAILEDExecutionfailedfortask':mergeDebugJavaResource'.>Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.MergeJavaResWorkAction>6f
- 解析 uni-app 小程序分包策略:合理优化包体积分布
前端梦工厂+
uni-app前端开发前端uni-app小程序
引言微信小程序的流行使得越来越多的开发者投入到小程序的开发中。但是,随着项目规模的增大,小程序的性能也会面临一些挑战。其中,小程序分包策略是提升性能的重要一环。同时,uni-app的流行也使众多的移动端开发者选择使用uni-app框架来开发移动端应用,因为开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、
- 解读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