思路和时间复杂度思路:利用栈完成出栈操作时间复杂度:代码classSolution{public:boolbackspaceCompare(strings,stringt){stackss;stacktt;for(inti=0;i
Biobank genetic data探析(三)
想摸鱼的生信小白
GWAS自学历程大数据
Biobankgeneticdata探析(三)——GenotypingprocessandsampleQC一.总览Category100313这类数据包含了Affymetrix做Genotypecalling的pipeline的流程信息(后续分析中可能用不到),以及样本质量控制的信息(下游分析中估计是必用了)。二.数据集描述2.1Genotypingprocess查看之后发现这部分不是很重要,毕竟
快速排序法的使用 ( 超详细图解 )
S01d13r
链表算法快速排序面试数据结构
快速排序法的使用快速排序法作为一种广受好评的排序方法,不仅仅因为它的排序效率很高,更因为它体现了分治的思想。因此许多广为人知的软件公司(BAT)的笔试面试都喜欢考,甚至在一些大大小小的考试如软考、考研中也能见到它的身影。因此熟练默写快速排序法的代码并掌握其核心思想对我们来说尤为重要。快速排序法的背景:快速排序由C.A.R.Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成
GBase8c aes_encrypt和aes_decrypt函数
keep__go
GBase8c数据库gbase
在数据库中,aes_encrypt和aes_decrypt函数进行加解密时使用的块加密模式。GBase8c与MySQL的aes_encrypt和aes_decrypt函数区别:1、GBase8c中的初始化向量init_vector不能为空2、MySQL的加密模块block_encryption_mode为aes-128-ecb,GBase8c不支持aes-128-ecb,默认加密模块为aes-12
C#—【特性详解以及自定义特性和通过反射读取特性】
_Csharp
C#基础-高阶-实战知识点c#开发语言特性反射自定义特性
C#—【特性详解以及自定义特性和通过反射读取特性】目录C#—【特性详解以及自定义特性和通过反射读取特性】介绍:特性可以用于多种用途,包括但不限于:特性的分类:特性的主要用途(举一些直观例子)1.标记代码,让框架自动处理2.数据验证(表单/模型校验)3.控制序列化行为4.生成文档(如API接口说明)5.实现AOP(面向切面编程)为什么用特性而不用其他方法?日常开发中的高频场景一句话总结常见预定义特性
yaml常见的读取和写入
南部余额
pythonpythonyaml
allow_unicode=True:遇到中文不转换为unicode编码sort_keys=False:不进行排序,默认按照字母abcd排序importyamldefwrite_yaml_template():"""统一的yaml模板:return:"""yaml_template=[{'feature':None,'story':None,'title':None,'request':{'met
队列在计算机系统中的应用
AredRabbit
队列
队列在计算机系统中有广泛的应用,主要用于管理任务和处理数据流。以下是队列的一些常见应用场景:1.任务调度操作系统:操作系统使用队列管理进程调度,如先来先服务(FCFS)调度算法。线程池:线程池通过队列管理待执行任务,确保任务按顺序处理。2.数据缓冲I/O操作:队列用于缓冲输入输出数据,平衡生产者和消费者速度。网络通信:网络数据包通过队列缓冲,确保按顺序处理。3.消息传递消息队列:在分布式系统中,消
Leetcode32 最长有效括号深度解析
八股文领域大手子
数据库mysqljavasqlredis
问题描述找出字符串s中最长的有效括号子串的长度。核心思路动态规划:定义dp[i]为以字符s[i]结尾的最长有效括号子串长度。分情况讨论:根据当前字符是否为)以及前面的字符情况,推导状态转移方程。状态转移方程详解Case1:当前字符)与前一个字符(直接匹配场景:形如...()的结构。转移方程:if(s.charAt(i-1)=='('){dp[i]=dp[i-2]+2;//前i-2个字符的有效长度+
锁的策略)
康kang
synchronized锁的分类
一、锁的分类第一组:乐观锁和悲观锁这是两种不同的锁的实现方式。乐观锁:在加锁之前,预估当前出现锁冲突的概率不大,因此在进行加锁的时候就不会做太多的工作。悲观锁:在加锁之前,预估到当前锁冲突出现的概率比较大,因此加锁的时候就会做更多的工作,做的事情更多,加锁的速度可能会更慢,但整个过程中不容易出现其他问题。第二组:轻量级锁和重量级锁轻量级锁:加锁的开销小,加锁的速度更快=>一般为乐观锁重量级锁:加锁
request+pytest根据yaml文件发送请求
等枝桠~成繁花
pytest
request怎么跟pytest结合起来,然后根据yaml文件去发一个基本的请求呢?下面是一个简单的示例。1、先新建一个名为“demo.yaml”的yaml文件,用来存放测试数据的。-name:G广州研发中心parentid:1#第一次用例的数据正常expect:60008#对请求结果进行断言-name:""parentid:1#第二次用例的数据name为空expect:40058#对请求结果进行
实战篇:GBase 8a MPP Cluster 安装部署过程
Lucifer三思而后行
DBA实战系列数据库gbasecluster
目录前言☀️环境准备安装介质下载操作系统安装安装前准备1、关闭防火墙2、禁用Selinux3、创建gbase用户4、创建目录并授权5、重启主机❤️GBase8aMPPCluster安装主节点上传安装介质主节点解压安装包分发配置文件配置环境变量修改主节点安装配置文件主节点执行安装命令检查集群状态申请和导入授权①导出集群各节点的指纹信息②邮件申请授权③主节点导入授权④检查授权情况所有节点启动集群服务主
Spring Boot项目中集成sa-token实现认证授权和OAuth 2.0第三方登录
山高自有客行路
#Springbootspringboot
OAuth2.0第三方登录OAuth2.0是一种授权协议,允许第三方应用在不暴露用户密码的情况下访问用户的资源。它通常用于第三方登录场景,例如使用GitHub、Google等社交平台进行登录。在sa-token框架中,OAuth2.0第三方登录可以通过集成sa-token-oauth2模块来实现,并且可以结合sa-token的安全特性来增强安全性。导入依赖首先,在你的pom.xml文件中添加必要的
C语言中的结构体指针
812503533
c语言算法开发语言
一、什么是结构体指针?在C语言中,结构体是一种用户自定义的数据类型,可以将不同类型的变量组合在一起形成一个更复杂的数据结构。而结构体指针则是指向结构体变量地址的指针。通过结构体指针,我们可以动态访问结构体成员、传递结构体到函数以及进行内存管理等操作。结构体指针提供了一个更加灵活和高效的方式来操作结构体,特别是在处理大型数据结构时,指针的使用可以节省内存并提高程序性能。二、如何声明结构体指针?结构体
40岁重启人生学python,今天搞明白了,啥是循环结构?
飞哥知行录
中年人python经验分享开发语言
今天学习了循环结构,其实说心里话,不是太明白,尤其是老师讲了那些高深的理论之后,就更加糊涂了。后来还是借助deepseek,它说:循环结构就是让计算机重复执行某段代码,直到满足特定条件(比如吃饱了就停止吃饭)。吃饱了就停止吃饭,多么简单的一句话,我一下就明白了,忽然觉得那些讲课喜欢高深理论的人,他们真的好可悲。总是抱着概念和教条的东西,不知道你们是怎么听明白的。循环结构的三种常见类型是`for循环
一份C#的笔试题及答案
网际游侠
c#面试笔试
C#笔试题一、基础知识OOP的基本概念面向对象编程的核心思想包括四个主要特性:继承、多态、封装和信息隐藏。请简述这四个特性的具体内容。值类型与引用类型的区别值类型(如int,string)在内存中直接存储数据,而引用类型(如object,ref)通过引用间接存储,指出值的位置。请举例说明两者的不同。静态与非静态关键字的作用静态和非静态关键字用于区分依赖于实例还是不依赖于实例的成员。请分别解释它们的
Lumberyard:Lumberyard物理系统详解_2024-07-13_20-00-57.Tex
chenjj4003
游戏开发2lumberyardmicrosoft游戏引擎junit单元测试godot
Lumberyard:Lumberyard物理系统详解Lumberyard物理系统概述物理引擎介绍Lumberyard,亚马逊的游戏引擎,集成了强大的物理引擎,用于模拟游戏世界中的真实物理行为。其物理引擎基于PhysX,一个由NVIDIA开发的物理模拟技术,广泛应用于游戏开发中。PhysX支持复杂的物理交互,包括刚体动力学、软体物理、流体动力学等,能够为游戏提供逼真的物理效果。物理系统在Lumbe
数据结构-稀疏矩阵-十字链表存储
辣条不爱辣
数据结构数据结构
当矩阵的非零元个数与位置在操作中变化较大时,就不宜用顺序存储结构来表示三元组的线性表。在链表中,每个非零元可用一个含5个域的结点表示,其中i,j,e这三个域分别表示该非零元所在的行的值,向右域right用以链接同一行中下一个非零元,向下域down用以链接同一列中下一个非零元,向右域right用以链接同一行中下一个非零元,向下域down用以链接同一列中下一个非零元。同一行的非零元通过right域链接
Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南
chenOnlyOne
springboot后端java
SpringBoot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南一、核心概念对比1.本质区别维度过滤器(Filter)拦截器(Interceptor)规范层级Servlet规范(J2EE标准)SpringMVC框架机制作用范围所有请求(包括静态资源)只处理Controller请求依赖关系不依赖Spring容器完全集成SpringIOC容器执行顺序最先执行(
GBASE 8C——SQL参考6 sql语法(14)
aisirea
sql数据库
ROLLBACKPREPARED功能描述取消一个先前为两阶段提交准备好的事务。语法格式ROLLBACKPREPAREDtransaction_id参数说明transaction_id:待提交事务的标识符。它不能和任何当前预备事务已经使用了的标识符同名。注意事项要想回滚一个预备事务,必须是最初发起事务的用户,或者是系统管理员。pg_prepared_xacts系统视图中列出了当前可用的所有准备好的事
GBASE 8C——SQL参考6 sql语法(5)
aisirea
数据库gbase
COMMIT功能描述提交当前事务。语法格式COMMIT[WORK|TRANSACTION]参数说明WORK|TRANSACTION:可选的关键词,没有具体效果。注意事项执行COMMIT这个命令的时候,命令执行者必须是该事务的创建者或系统管理员,且创建和提交操作可以不在同一个会话中。语法兼容符合SQL标准。相关语法BEGIN,ROLLBACK,ENDCOMMITPREPARED功能描述提交一个预先为
GBASE 8C——SQL参考6 sql语法(2)
aisirea
数据库sql
ALTERINDEX功能描述修改一个索引的参数。语法格式ALTERINDEX[IFEXISTS]nameRENAMETOnew_nameALTERINDEX[IFEXISTS]nameSETTABLESPACEtablespace_nameALTERINDEXnameDEPENDSONEXTENSIONextension_nameALTERINDEX[IFEXISTS]nameSET(storag
python基于django/flask网上书城系统Django-SpringBoot-php-Node.js-flask
QQ_1963288475
pythondjangoflaskspringbootphplaravelnode.js
目录技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示技术栈介绍Django-SpringBoot-php-Node.js-flask本课题的研究方法和研
Java流程控制
NaclarbCSDN
java开发语言
Java流程控制用户交互Scannerjava.util.Scanner使用这个包中Scanner类获取用户的输出基本语法 Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们要使用hasNext()与hasNextLine()判断用户是否还有输入的数据next():一定要读取到有效字符后才可以结束
Node.js系列(1)--架构设计指南
一进制ᅟᅠ
Node.jsnode.jsvim编辑器
Node.js架构设计指南️引言Node.js作为一个高性能的JavaScript运行时环境,其架构设计对于构建可扩展的服务端应用至关重要。本文将深入探讨Node.js的架构设计原则、最佳实践和实现方案。架构概述Node.js架构主要包括以下方面:事件驱动:基于事件循环的异步非阻塞架构模块系统:CommonJS和ES模块系统进程模型:单线程主进程与工作线程流处理:基于Stream的数据处理错误处理
C# 线程池 ThreadPool 的深入解析与应用
墨夶
C#学习资料1c#算法
在多线程编程中,线程池(ThreadPool)是一种高效利用系统资源的方式。通过合理使用线程池,可以显著提高应用程序的性能和响应能力。本文将深入解析C#中的ThreadPool类,并展示如何在实际应用中有效地使用它。你是否曾经面临过创建过多线程导致系统资源耗尽的问题?C#提供的ThreadPool类可以帮助你优雅地管理线程,避免这些问题。本文将带你一步步深入了解ThreadPool并展示其在实际项
二分查找 -- 分巧克力
Vaiey22
算法python蓝桥杯
P8647[蓝桥杯2017省AB]分巧克力-洛谷思路:”二分+贪心“由于目标是使每个人所分的的巧克力的边长尽可能大,(注意要保证公平,全部同一大小),设边长L*L,最小(L=1);最大min(H_i,W_i)每次检查当前K是否可行可行性检查(贪心计算):检查可行性(贪心计算):对每一块巧克力H_i*W_i,能切出的L*L巧克力数量是:count=(Hi/L)*(Wi/L)---->用整除统计所有N
群体智能优化算法-旗鱼优化算法 (Sailfish Optimizer, SFO,含Matlab源代码)
HR Zhou
算法matlab开发语言群体智能优化优化
摘要旗鱼优化算法(SailfishOptimizer,SFO)是一种模拟旗鱼(Sailfish)和沙丁鱼(Sardine)之间捕食关系的新型元启发式算法。通过在搜索过程中模拟旗鱼对沙丁鱼的捕食行为,以及沙丁鱼群的逃逸与防御机制,SFO平衡了全局探索与局部开发,在处理复杂优化问题时具有良好的收敛性能。本文提供了SFO的核心思路并提供了完整MATLAB代码及详细中文注释,以帮助读者快速理解并应用该算法
继之前的线程循环加到窗口中运行
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">