- pytest 常用的辅助函数和工具函数
Lightning-py
Pythonpytestpython开发语言
pytest常用的辅助函数和工具函数示例#@File:my_module.pydeffetch_data():return'processdata'defprocess_data():data=fetch_data()returndata.upper()importloggingimportsysimportpytest#01-------------------------------@pyte
- Python史上最全知识重点(超详细版)进阶篇
码农必胜客
Python零基础入门python网络java
Python进阶进程间通信:Manager(内置了好多数据结构,可以实现多进程间内存共享)frommultiprocessingimportManager,Processdefadd_data(p_dict,key,value):p_dict[key]=valueif__name__=="__main__":progress_dict=Manager().dict()fromqueueimport
- 【自然语言处理】自然语言处理NLP概述及应用
@我们的天空
人工智能技术nlp人工智能深度学习python机器学习自然语言处理scikit-learn
自然语言处理(NaturalLanguageProcessing,简称NLP)是一门集计算机科学、人工智能以及语言学于一体的交叉学科,致力于让计算机能够理解、解析、生成和处理人类的自然语言。它是人工智能领域的一个关键分支,旨在缩小人与机器之间的交流障碍,使得机器能够更有效地识别并响应人类的自然语言指令或内容。自然语言处理NLP概述基本任务:文本分类:将文本划分为预定义的类别,如情感分析、主题分类等
- Python实现多线程、多进程及协程
闲人编程
pythonpython开发语言多线程多进程协程并发异步
目录Python实现多线程、多进程及协程引言1.多线程(Threading)1.1多线程的基本概念1.2多线程的优点和缺点1.3Python多线程的实现2.多进程(Multiprocessing)2.1多进程的基本概念2.2多进程的优点和缺点2.3Python多进程的实现3.协程(Coroutine)3.1协程的基本概念3.2协程的优点和缺点3.3Python协程的实现4.三种并发模型的对比与选择
- 鸿蒙轻内核A核源码分析系列七 进程管理 (3)
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOSharmonyos嵌入式硬件OpenHarmony鸿蒙嵌入式鸿蒙开发鸿蒙内核进程关联
本文记录下进程相关的初始化函数,如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。1、LiteOS-A内核进程创建初始化通用函数先看看一些内部函数,不管是初始化用户态进程还是内核态进程,都会使用这些函数,包含进程控制块初始化函数
- 手把手教你用Python部署自己的VPN_python strongswan
2401_84970250
程序员pythonjava网络
}#构建VPN连接命令_command=["sudo","strongswan","up",_config["username"],"--server",_config["server_ip"],"--username",_config["username"],"--password",_config["password"]]#启动VPN连接subprocess.run(_command)defs
- 2020-11-21
20行管2班14刘少佳
1.精读:逐字阅读文章很重要,不会的单词学会找基础词汇代替;英英词典用起来!视听说:听力多听几遍,听时做好笔记2.怦然心动的单词精读:confident确信的process步骤remarkably显著地rhythm节奏accustomed习惯于precise精确的obtain获得视听说:masculine,dark,blonde,survey,wonderful3.喜欢的话视听说:Itisimpo
- 【无标题】使用Go (或者 Python) 执行外部命令,直接模式和 Shell模式的区别
ginkov
golangpython服务器
有时,我们需要通过编程语言执行外部程序、命令或脚本。Go语言里提供了“os/exec”库,Python里面也提供了subprocess这样的库。但在具体调用外部命令时,有两种方式:直接调用外部命令通过Shell调用外部命令以Go语言为例:cmd:=exec.Command("./myscript.sh","arg1","arg2")//直接执行外部命令或者cmd:=exec.Command("sh
- Python_GUI
Richard&仰望星空
pythonpython
#Author:Richardfromtkinterimport*defprocessOK():print("OKbuttonisclicked!")defprocessCancel():print("Cancelbuttonisclicked!")window=Tk()#creatawindow#label=Label(window,text="WelcometoPython!")#小构建类#b
- ZYNQ MPSOC FPGA 仿真 教程
行者..................
fpga开发FPGA
1.**FPGA与MPSOC**:FPGA(FieldProgrammableGateArray)是一种可以通过编程配置的集成电路,适用于各种应用和功能。MPSOC(Multi-ProcessorSystemonChip)是集成了多个处理器(通常是微处理器)的系统芯片,用于处理复杂的应用,如图像处理、网络通信等。2.**仿真与分析**:-**仿真波形图**:在进行硬件设计时,仿真波形图是用来验证电
- python 物理引擎_在 Gym 上构建会动的人工智障1(python)
weixin_39542608
python物理引擎
背景说明作者最近使用processing的一个重要目标就是为学生的编程学习设计具体的应用场景,最近突然发现有一个包已经提供了部分功能,所以探索一下。这个包就是我们今天的主人公:Gym。Gym是用于开发和比较强化学习算法的python包,但是我们也完全可以使用它来作为我们自己程序的应用背景,并提供可视化。简单的说,就是我们使用自己写的小程序,而不是强化学习算法,来尝试完成其中的任务,并把完成任务的过
- CEF小白人系列10-代码实现Command-Line模式
守城小轩
CEFcef
我们知道了如何使用命令行执行模式来增加参数。Command-Line可以不可以在代码里进行修改呢?答案是可以的。其实我只需要重载OnBeforeCommandLineProcessing就可以了。下面给出片段的代码classCCefClientApp:publicCefApp,publicCefBrowserProcessHandler{public:CCefClientApp();~CCefCl
- pytorch NLP自然语言处理入门一:文本表示
whyte王
pytorchNLP基础pytorch自然语言处理人工智能
开始编辑:2024/2/16;最后编辑2024/2/16教程出自:https://learn.microsoft.com/en-sg/training/modules/intro-natural-language-processing-pytorch/第二部分:https://blog.csdn.net/qq_33345365/article/details/136142152本博客旨在探讨处理自
- #define、#undef、Preprocessor Macros、if、#if、#ifdef、#ifndef
Billlin
#define简单的宏定义。#defineMAXTIME1000#defineMAXTIMEtrue#defineMAXTIME没有设置值的宏定义不能在if条件语句和#if预编译语句中使用,但是可以在#ifdef和#ifndef中使用。#defineCONDITION#ifdefCONDITION为true#ifndefCONDITION为false#undef取消宏定义。#undefMAXTIM
- 扩散模型理论与公式推导——详细过程速览与理解加深
留尘铃
声音信号处理学习图像处理人工智能扩散模型学习深度学习理论推导
参考:[1]HoJ,JainA,AbbeelP.Denoisingdiffusionprobabilisticmodels[J].Advancesinneuralinformationprocessingsystems,2020,33:6840-6851.[2]扩散模型/DiffusionModel原理讲解_哔哩哔哩_bilibili[3]扩散模型公式推导_扩散模型数学推导-CSDN博客[4]扩散
- mysql游标遍历-记录
百万彩票中奖候选人
奇淫技巧系列mysql数据库
mysql游标遍历初次学习使用DELIMITER$$CREATEPROCEDUREprocess_orders()BEGINDECLAREdoneINTDEFAULT0;DECLAREorder_idINT;DECLAREorder_dateDATE;--声明游标DECLAREcurCURSORFORSELECTid,order_dateFROMordersWHEREorder_status='p
- 强化学习(二)----- 马尔可夫决策过程MDP
Duckie-duckie
机器学习数据数据分析数据挖掘机器学习算法
1.马尔可夫模型的几类子模型大家应该还记得马尔科夫链(MarkovChain),了解机器学习的也都知道隐马尔可夫模型(HiddenMarkovModel,HMM)。它们具有的一个共同性质就是马尔可夫性(无后效性),也就是指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关。马尔可夫决策过程(MarkovDecisionProcess,MDP)也具有马尔可夫性,与上面不同的是MDP考虑了动作
- Linux模块——进程管理
lucky.wang
linux运维
一、进程管理:进程和进程查看1、概念:运行中的程序(process)或命令。每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。程序消耗的是磁盘资源,进程消耗的是内存和CPU资源。2、作用:①判断服务器健康状态;②查看系统中所有进程;③“杀死”进程;3、进程会占用三类资源:CPU、memary、network、*disk。进程至少会占用CPU和memary。4、两种查看进程格式
- 讲解:CIS 330、To-Be System、SQL、SQLR|Processing
banzhichuai
EnhancingtheAs-IsHospitalDatabaseCreatinganImprovedTo-BeSystemForthisassignment,youwillenhancetheHospitaldatabase(theas-issystem)basedontheresultsofrequirementselicitation,whichisdescribedbelow.Youwil
- 鸿蒙轻内核M核源码分析系列十五 CPU使用率CPUP
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOSharmonyos鸿蒙内核移动开发数据结构OpenHarmony性能优化嵌入式硬件
CPUP(CentralProcessingUnitPercentage,CPU占用率)分为系统CPU占用率和任务CPU占用率。用户通过系统级的CPU占用率,判断当前系统负载是否超出设计规格。通过系统中各个任务的CPU占用情况,判断各个任务的CPU占用率是否符合设计的预期。系统CPU占用率是指周期时间内系统的CPU占用率,用于表示系统一段时间内的闲忙程度,也表示CPU的负载情况。系统CPU占用率的
- Preparing metadata (setup.py) ... error error: subprocess-exited-with-error
聪明小萝卜
常见报错python人工智能pythonconda
PyDictionary安装的时候遇到以下报错UserCollectingPyDictionaryUsingcachedPyDictionary-2.0.1-py3-none-any.whl(6.1kB)Requirementalreadysatisfied:bs4ind:\programdata\anaconda3\envs\graduation\lib\site-packages(fromPy
- python基础语法九-多进程和多线程
yunduor909
pythonpython
书接上回:python基础语法一-基本数据类型python基础语法二-多维数据类型python基础语法三-类python基础语法四-数据可视化python基础语法五-函数python基础语法六-正则匹配python基础语法七-openpyxl操作excelpython基础语法八-异常1.多进程1.1创建多进程1)importmultiprocessing模块2)创建进程要执行的函数3)调用mult
- python setup.py egg_info did not run successfully.
聪明小萝卜
常见报错pythonpython
在安装emit的时候遇到以下报错CollectingemitUsingcachedemit-0.4.0.tar.gz(13kB)Preparingmetadata(setup.py)...errorerror:subprocess-exited-with-error×pythonsetup.pyegg_infodidnotrunsuccessfully.│exitcode:1╰─>[51lines
- 2020-03-17
百百百川
####查看进程ps,top查看进程process了解进程的:•PID(processID),PPID(parentprocessID)•当前的进程状态•内存的分配情况•CPU和已花费的实际时间•用户UID,他决定进程的特权####静态查看进程#####a参数含义ps[root@localhost~]#psaux|less分页显示USERPID%CPU%MEMVSZRSSTTYSTATSTARTT
- python subprocess popen 多次重定向_python subprocess.Popen系列问题
hill ca
pythonsubprocesspopen多次重定向
最近在项目中遇到一个需求,前端发来一个命令,这个命令是去执行传递过来的一个脚本(shell或者python),并返回脚本的标准输出和标准出错,如果执行超过设定时间还没结束就超时,然后终止脚本的执行。实现这个功能,自然而然先想到的是subprocess这个库了。因此,在后端的一个脚本中调用python的subprocess去执行传递过来的脚本,通常情况下subprocess都能运行的很好,完成脚本的
- Python subprocess库常用函数
YH美洲大蠊
python服务器
1.subprocess.run():应用场景:执行系统命令,获取命令执行结果。作用:运行命令,等待命令完成,然后返回CompletedProcess实例。参数:args:要执行的命令及其参数,可以是一个字符串或一个参数列表。capture_output:如果为True,则捕获命令的输出。input:提供给子进程的输入数据。text:如果为True,则输出和错误将是文本格式。check:如果为Tr
- python subprocessing Popen、run
何乐乐和何了了
pythonpython
subprocessingPopen、runPopen是非阻塞的,run是阻塞的。importsubprocessasspself.p=sp.Popen(command)#self.p=sp.run(command)
- 【python 实用性】浅谈subprocess中 Popen() 和 run()方法
黄小莫
python自动化
文章目录run()和Popen()介绍run()和Popen()用法分享一波提示:以下仅为本人个人观点,仅供参考,不足之处欢迎评论,共勉run()和Popen()介绍subprocess的run()和Popen()都是子进程管理的方法,启动新的子进程并执行外部命令的方法.Popen:更底层、更灵活的接口。创建一个新的进程并根据给定的参数执行命令,不会因等待这个命令执行完成而阻塞别的子进程的执行。这
- Annotation processing is not supported for module cycles. Please ensure that all modules(若依二开报错笔记)
一单成
若依日常报错解决分析笔记
场景描述:在进行项目的重构之后,auth中提示该错误。报错说明:它表示模块循环中不支持注解处理。需要确保来自模块循环中的所有模块都被排除在注解处理外。这是报错提示。尝试1:使用idea中的快捷键发现我的循环成了一个圈,所以需要使用idea中的快捷键来解决。报这个错时,首先可以通过idea菜单栏的Analyze下的AnalyzeModuleDependencies,选择wholeproject。这时
- Tensorflow2 如何扩展现有数据集(缩放、随机旋转、水平翻转、平移等),从而提高模型的准确率 -- Tensorflow自学笔记14
青瓷看世界
tensorflow人工智能python
实际生活中的数据集,往往不是标准的数据,而是有倾斜角度、有旋转、有偏移的数据,为了提高数据集的真实性,提高模型预测的准确率,可以用ImageDataGenerator函数来扩展数据集importtensorflowastffromtensorflow.keras.preprocessing.imageimportImageDataGeneratorimage_gen_train=ImageData
- 继之前的线程循环加到窗口中运行
3213213333332132
javathreadJFrameJPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
- linux 常用命令
BlueSkator
linux命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
- php heredoc原文档和nowdoc语法
dcj3sjt126com
PHPheredocnowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
- overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
- [简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
- Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
- Java新手入门的30个基本概念三
aijuans
java新手java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
- 《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试敏捷开发项目管理IBM活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
- PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程异常PL/SQL块声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
- Mockito(三)--完整功能介绍
bijian1013
持续集成mockito单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
- 精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle数据库plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
- 【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
- mybatis3入门学习笔记
白糖_
sqlibatisqqjdbc配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
- Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
- java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
- Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
- [货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
- Toast原来也可以多样化
dai_lm
androidtoast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
- java数据计算的几种解决方法3
datamachine
javahadoopibatisr-languer
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
- 向网页中插入透明Flash的方法和技巧
dcj3sjt126com
htmlWebFlash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
- ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
- Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑Eos平台java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
- SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
- 解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
- 挥洒泪水的青春
lampcy
编程生活程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
- 稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
- 动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScriptiframecontentDocument高度自适应局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
- 用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
- HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">