- appium入坑必备--详解uiautomator2,让你摆脱usb_appium uiautomator2
weixin_45933550
appiumjavapython
APP元素定位+基本工具介绍万字详解基本操作uc-devtools与Airtest工具使用目录UiAutomatorUiautomator2环境搭建常用操作连接设备Wifi连接USB连接定位工具定位元素启动应用停止应用查包名定位方式ResourceId定位Text定位Description定位ClassName定位xpath定位坐标定位重复元素定位截图文件推送与拉取常用鼠标操作滑动屏幕解锁屏幕获取
- 信息学奥赛一本通 1395:烦人的幻灯片(slides) 第四章 图论
长春高老师编程
信息学奥赛一本通-数据结构图论算法
1395:烦人的幻灯片(slides)时间限制:1000ms内存限制:65536KB【题目描述】李教授将于今天下午作一次非常重要的演讲。不幸的事他不是一个非常爱整洁的人,他把自己演讲要用的幻灯片随便堆在了一起。因此,演讲之前他不得不去整理这些幻灯片。作为一个讲求效率的学者,他希望尽可能简单地完成它。教授这次演讲一共要用n张幻灯片(nusingnamespacestd;structnode{intx
- 鸿蒙 HarmonyOS 开发问题
piggy514
harmonyos华为
Q001:文档问题-开启开发者模式文档中心https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickapp-open-developer-option-0000001137005543实际上文档描述错误:连续多次点击“Harmony版本”无效A001:应为:连续多次点击“软件版本”Q002:真机调试-签名问题InstallF
- python高级教程_Python高级进阶教程
weixin_39713335
python高级教程
这个系列的教程是在刘金玉编程的《零基础python教程》基础上的高级进阶应用。教程列表:Python高级进阶教程001期pycharm+anaconda3+pyqt5可视化界面开发环境搭建Python高级进阶教程002期第一个pyqt5程序Python高级进阶教程003期pyqt5与qtdesigner对照分析Python高级进阶教程004期pyqt5设置窗体图标Python高级进阶教程005期p
- Windows11下清理Docker Desktop与wsl的C盘空间占用_wsl清理缓存(1)
m0_60607675
2024年程序员学习docker缓存容器
//【数据卷的磁盘占用】//2-删除不再使用的数据卷dockervolumeprune或者dockervolumerm$(dockervolumels-q)//【BuildCache的磁盘占用】//3-删除buildcache磁盘占用dockerbuilderprune//【4-一键清理】dockersystemprune。RECLAIMABLE:可回收大小。//【镜像的磁盘占用】//列出所有悬挂状态的镜像:d
- HarmonyOS NEXT实战开发:显示图片 (Image)
「已注销」
鸿蒙鸿蒙next版harmonyos华为鸿蒙android
开发者经常需要在应用中显示一些图片,例如:按钮中的icon、网络图片、本地图片等。在应用中显示图片需要使用Image组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg和gif。Image通过调用接口来创建,接口调用形式如下:Image(src:PixelMap|ResourceStr|DrawableDescriptor)该接口通过图片数据源获取图片,支持本地图片和网络图片的
- oracle pl/sql desc+表名 无效sql的问题
dept123
Oracle
在pl/sql的sqlwindow里面写descschema.表名-->无效sql语句要换成commandwindow然后descshema.表名;
- Django REST Framework 中 ModelViewSet 的接口方法及参数详解,继承的方法和核心类方法,常用查询方法接口
coderZT
djangopython后端
第一部分(ModelViewSet)一、ModelViewSet的继承结构ModelViewSet继承自以下类:ModelViewSet=(CreateModelMixin+#创建RetrieveModelMixin+#检索单个UpdateModelMixin+#更新DestroyModelMixin+#删除ListModelMixin+#列表GenericViewSet#基础视图集)二、默认接口
- vite+vue+ts+element-plus从零开发管理后台框架(20)-多页签移除和跳转
vue3
多页签添加移除方法编辑src/store/fastnav.ts,添加removeData方法。removeData(path:string):string{if(this.datas.length{{item.desc}}script段添加onTagClose方法。constonCollapseSwitch=()=>{menuStore.collapse=!menuStore.collapse}c
- 全面解析EV代码签名证书:增强软件安全,提升下载率
EV代码签名证书是什么?EV代码签名证书(ExtendedValidationCodeSigningCertificate)是一种高级别的数字签名证书,用于为软件代码、应用程序或驱动程序提供数字签名,确保其来源的真实性、完整性以及未被篡改。与普通的代码签名证书(如OV或DV)相比,EV代码签名证书提供了更高的信任级别,特别适用于需要增强用户信任的商业软件或企业级应用。EV代码签名证书的特点与优势高
- LeetCode 376. 摆动序列 java题解
奔跑的废柴
LeetCodeleetcodejava算法贪心贪心算法
https://leetcode.cn/problems/wiggle-subsequence/description/只要不满足摆动条件,就不更新count和prediff当prevDiff取等号时,比如prevDiff==0,在这种情况下,如果currDiff>0,说明从持平状态转变为上升状态,这是一种有效的摆动起始情况;同理,如果currDiff0,这种从持平到上升的情况应该被视为摆动的开始
- c#读取json某一节点数据_C#中怎么解析JSON数据,并获取到其中的值?
yiqin luo
c#读取json某一节点数据
【1】首先我们根据创建一个json字符转stringjson=@"[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}]";【2】首先我们根据创建一个json字符转我们根据字符串的数据结构定义两个类:publicclass
- starrocks批量启停脚本
蘑菇丁
脚本大数据
#!/bin/bash#定义StarRocks安装目录STARROCKS_HOME="/path/to/starrocks"#定义FE和BE节点列表FE_NODES=("fe_node1_ip""fe_node2_ip""fe_node3_ip")BE_NODES=("be_node1_ip""be_node2_ip""be_node3_ip")#定义日志文件LOG_FILE="starrocks
- [android_gallery_4.0]gallery主要类介绍(四)
buleideli
Android开发androidAndroidANDROIDgalleryGallery
3.1.6SlideshowPage处理幻灯片动画显示。其类图如下。1)SlideshowView负责处理幻灯片播放的view。1.1)SlideshowAnimation其继承自Animation,负责具体幻灯片切换的显示。这里用到两个对象,mPrevAnimation负责上一张图片动画显示,mCurrentAnimation负责当前图片动画显示,显示动画效果就是扩大,淡入淡出。Animatio
- Smart contract -- 自毁合约
第十六年盛夏.
Solidity区块链应用搭建智能合约区块链智能合约
在区块链开发中,Solidity语言提供了强大的功能,其中自毁合约是一个独特且重要的特性。今天,就让我们深入探讨一下Solidity中的自毁合约,以及如何使用selfdestruct函数。注意:使用继承时请确保代码的正确性,以防丢失个人财产,在这里友情提示您,不要复制来源不明的solidity代码并进行部署。本文为自己梳理总结,如有不足还请指出,感谢包容。学习更多solidity知识请访问Gith
- java 406,基于SpringMvc实现Restful方式接口返回406的问题
cj728
java406
一、问题:二、问题排查:HTTPStatus406-typeStatusreportmessagedescriptionTheresourceidentifiedbythisrequestisonlycapableofgeneratingresponseswithcharacteristicsnotacceptableaccordingtotherequest"accept"headers.HTT
- ant design vue的级联选择器cascader的悬浮层样式怎么修改
JAVA叶知秋
vue.jsjavascript前端
平时想要修改组件内定样式会使用穿透deep和!important调优先级,但是在这里都不行,样式都不能改变后来尝试出来是因为加了scoped,样式不起作用,但是不能直接去掉scoped,别的样式会受到影响,单独加一个style标签,只处理cascader内容.ant-cascader-menu{height:auto!important;width:200px;}
- 【脑洞小剧场】零帧起手创业小公司之 UI设计稿初稿
Foyo Designer
技术职场小剧产品经理改行学it经验分享程序人生前端ui
点击此处查看脑洞小剧场合集https://blog.csdn.net/foyodesigner/category_12896948.html阳光透过办公室的窗户,洒在吴艾(UI工程师)的桌上,映照出他那张略显疲惫但又充满期待的脸。今天,他终于完成了那份被无数次催促、无数次修改的UI设计稿初稿。他深吸一口气,像是要把这份成果深深烙印在心里,然后满怀信心地点开了与产品经理程立新和前端程序员段码的群聊窗
- 【脑洞小剧场】零帧起手创业小公司之 第一次项目团建
Foyo Designer
技术职场小剧职场和发展程序人生创业创新远程工作跳槽改行学it
点击查看小剧场合集https://blog.csdn.net/foyodesigner/category_12896948.html阳光明媚的周末,本应是睡懒觉、打游戏或者追剧的好时光,但对于这家小公司的员工们来说,却迎来了他们成立以来的第一次团建活动。全栈工程师全搞一脸无奈地站在公司门口,看着手里的团建通知,心里嘀咕着:“团建?不会是又要加班吧?还说是去爬山,这是要累死我们吗?”场景一:全栈工程
- mac连接vps要用的远程桌面连接客户端
俺足
macos
找半天,终于找到一个以前的版本(历史版本)我是mac10.15.7,下载10.8.2是可以的。https://install.appcenter.ms/orgs/rdmacios-k2vy/apps/microsoft-remote-desktop-for-mac/distribution_groups/all-users-of-microsoft-remote-desktop-for-mac
- 解决Virtualbox在安装Docker Desktop后无法启动虚拟机的问题
Litou_lyh
1024程序员节docker其他centosvirtualenv
解决Virtualbox在安装DockerDesktop后无法启动虚拟机的问题1错误情况今天同时打开了VirtualBox的虚拟机和DockerDesktop,在强制关闭虚拟机后打不开虚拟机了。启动时卡在登录前的加载界面。环境:Win11+VB7.0,虚拟机为CentOS7尝试1:立刻想到了Docker和虚拟机的虚拟化设置可能冲突,上网查到了如下解决办法:禁用hyper-v选项bcdedit/se
- Stata操作
晓破云天
计量经济学学习方法
sscinstall:下载未储存到电脑的指令。一、定义面板数据xtset:定义面板数据,将变量按照个体、年份的顺序纵向排列,非平衡面板数据会自动删去不平衡部分。sum:后接变量,会出均值、方差及最大最小值等信息。logout,save(Describe)wordreplace:sum+变量名:logout是输出到文档,save括号中是输出文件名称,word是文件类型。pwcorr_a:变量之间线性
- LangChain教程 - Agent -之 ZERO_SHOT_REACT_DESCRIPTION
花千树-010
LangChainlangchainjavascriptpromptAIGC自然语言处理人工智能python
在构建智能AI助手时,我们希望模型能够智能地调用工具,以便提供准确的信息。LangChain提供了AgentType.ZERO_SHOT_REACT_DESCRIPTION,它结合了ReAct(Reasoning+Acting)策略,使得LLM可以基于工具的描述智能选择合适的工具进行推理和执行。本文将介绍该类型Agent的核心原理,并通过示例展示其应用。1.ZERO_SHOT_REACT_DESC
- 计算机网络——路由器及静态路由配置
wuqing_5450
华为数通路由交换HCIA网络
路由器路由表路由器的转发原理:当一个数据包进入路由器,路由器将根据数据包中的目标IP地址查看路由表。若表中存在记录,则将无条件按照记录转发。否则,则将直接丢弃该数据包。查看路由表:displayiprouting-tableDestination/Mask---目标网段信息---去哪Proto---路由类型---Direct---直连路由:表示直连网段路由信息的路由条目。直连网段:路由器直接通过网
- k8s之calico网络
分享放大价值
kubernetes源码分析k8scalicocni
环境介绍在一个物理server上安装三个VM,VM操作系统如下:root@master:~#lsb_release-aNoLSBmodulesareavailable.DistributorID:UbuntuDescription:Ubuntu19.10Release:19.10Codename:eoan一个VM作为master,另外两个VM作为worker:root@master:~#kubec
- selenium鼠标操作大全
Guff_hys
python开发语言
selenium鼠标操作大全#导包fromseleniumimportwebdriverfromtimeimportsleep#获取浏览器驱动对象driver=webdriver.Edge()#打开urlurl=r"C:\Users\黄永生\Desktop\软件测试\P2C电子市场\web自动化_day01_课件+笔记+资料+代码\02_其他资料\注册A.html"driver.get(url)"
- 一个差劲的软件设计
orangapple
开发语言c#
项目概况:之前自己设计并开发了一个用C#开发的上位机软件,整个软件只有一个Form,一个TabControl,3个TabControlPanel,总共100多个lable、textbox、ListBox等控件都放在这3个TabControlPanel里。问题:1.Designer.cs文件特别大,接近1万行。2.增加控件比较难。本来在visualstudio里添加一个控件特别简单,拖拽就行。但是,
- 使用服务器搭建开源建站工具Halo 2.0
莱卡云(Lcayun)
github服务器游戏linux云计算
一、服务器环境准备实例与系统选择推荐配置:莱卡云L1型实例(1核2GB内存),操作系统选择Ubuntu22.04LTS,满足Halo2.0的Java运行需求13。端口开放:在莱卡云控制台开放8090(Halo默认端口)、80(HTTP)及443(HTTPS)13。安装Docker与依赖bashCopyCodesudoaptupdatesudoaptinsta
- c语言库 strcpy函数介绍,以及实现
812503533
c语言c++算法
strcpy函数介绍strcpy是C语言标准库中的一个字符串处理函数,定义在头文件中。其作用是将一个字符串的内容从源地址复制到目标地址。函数原型:char*strcpy(char*dest,constchar*src);参数说明:dest:目标字符串(指向目标数组的指针),它用来接收源字符串的内容。src:源字符串(指向源字符串的指针),这是你想复制的字符串。返回值:strcpy返回目标字符串de
- 继之前的线程循环加到窗口中运行
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">