- python绘图实例
charlie_wang007
pythonpython
pythonPlt实例背景:业务的健身数据,有一个字段是其他附加信息,格式是json,需要查出该字段,解出json,拿到目标数据,按要求聚合,如燃脂是0.25的有几个目的:要验证运营页面的概览数据是否正确策略:从表中查出数据,格式化,用plt绘制,与被测页面的图形数据对比代码如下:#coding:utf8importMySQLdbimportjsonimportpandasaspdimportnu
- Python绘图案例
Adiga无线丢人
importmatplotlib.pyplotasplt#构建数据x_data=['2012','2013','2014','2015','2016','2017','2018']y_data=[58000,60200,63000,71000,84000,90500,107000]y_data2=[52000,54200,51500,58300,56800,59500,62700]#绘图plt.b
- 网络安全基础{英文答案}_OCR
★Alfalfa★
网络安全
Chapter1IntroductionAnswerstoQuestionsTheOSISecurityArchitectureisaframeworkthatprovidesasystematicwayofdefiningtherequirementsforsecurityandcharacterizingtheapproachestosatisfyingthoserequirements.Th
- MicroAI™将人工智能培训引入RENESAS MCU
sinat_41698914
人工智能mcubigdata
在端点部署的人工智能技术将加快资产密集型行业的上市时间达拉斯--(美国商业资讯)--边缘原生人工智能(AI)和机器学习(ML)产品领域的先驱MicroAITM今天宣布,公司已将其MicroAIAtomML™技术与RenesasRA微控制器(MCU)产品线进行整合。与全球微控制器领导者Renesas合作将机器学习引入MCU,并借助MicroAI直接在嵌入式环境中训练机器学习模型的能力——这在业界尚属
- leetcode - 359. Logger Rate Limiter
KpLn_HJL
OJ题目记录leetcodelinux服务器
DescriptionDesignaloggersystemthatreceivesastreamofmessagesalongwiththeirtimestamps.Eachuniquemessageshouldonlybeprintedatmostevery10seconds(i.e.amessageprintedattimestamptwillpreventotheridenticalmes
- leetcode - 126. Word Ladder II
KpLn_HJL
OJ题目记录leetcodewordc#
DescriptionAtransformationsequencefromwordbeginWordtowordendWordusingadictionarywordListisasequenceofwordsbeginWord->s1->s2->…->sksuchthat:Everyadjacentpairofwordsdiffersbyasingleletter.Everysifor1"ho
- Mongodb 慢查询日志分析 - 1
草明
mongodbmongodbpython数据库
Mongodb慢查询日志分析使用mloginfo处理过的日志会在控制台输出,显示还是比较友好的.但是如果内容较大,就不方便查看了,如果可以导入到excel就比较方便筛选/排序.但是mloginfo并没有提供生成到excel的功能.可以通过一个python脚本辅助生成:importpandasaspdimportre#定义文件路径mloginfo_output_file="mloginfo_outp
- excel vba 操作word 替换指定内容并复制到指定文件夹
改个名字好哦难
Excelvbaexcelwordc#
PrivateSubCommandButton1_Click()'读取目标文本,并替换后生成新的文本DimobjAppAsObject'Word.ApplicationDimobjDocAsObject'Word.DocumentDimstrTemplatesAsString'模板文件路径名DimstrFileNameAsString'将数据导出到此文件'工具-引用'MicrosoftWord16
- 自定义数据集使用scikit-learn中的包实现线性回归方法对其进行拟合
灵封~
scikit-learn线性回归python
一、导入必要的库importpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimportmean_squared_error,r2_score二、加载自定义数据集#创建自定义数据集#假设我们有一个简单
- 使用scikit-learn中的KNN包实现对鸢尾花数据集的预测。
灵封~
scikit-learn机器学习人工智能
导入必要的库和数据集#导入鸢尾花数据集fromsklearn.datasetsimportload_iris#数据化可视包importpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportMinMaxScaler,StandardScalerfromsklearn.neig
- 工程化概述
WJP丶
前端工程化实战前端工程化概述
工程化的定义和主要解决的问题前端工程化指遵循一定的规范,通过工具提升效率,降低成本的一种手段。前端日常开发遇到的问题想要使用ES6+新特性,但是兼容性有问题想要使用Less/Sass/PostCss增强css编程性,但是运行环境不能直接支持想要使用模块化的方式提高项目的可维护性,但是运行环境不能直接支持部署上线前需要手动压缩代码及资源文件、部署过程需要手动上传代码到服务器多人协作开发,无法硬性同一
- 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之6 三端架构的本质/内在/外观:自明性/信念/bank词扇
一水鉴天
软件智能智能制造人工语言人工智能
本文提要一些补充在为前端和后端锁定的两个中心词“概念”(命题“作文”的程序公共逻辑语言)和“描述”(谓词“描述”的自然描述语言)的基础上,暂时将中端的中心词锁定在“环境”(情境“意义”的人工语义网络语言)。三者的共同性--都需要通过“演算”得到(命题演算/谓词演算/情境演算)。每种演算都以本地或局部的this此岸为输入(A-box,最初是一个条件分支符--条件表达式),远处或全局的彼岸that(T
- 从Nvidia切换到华为云昇腾芯片的入门技巧
sunrise_ccx
华为云人工智能
Nvidia太贵,尝试使用国产的芯片做AI。等价命令Nvidia昇腾说明nvidia-sminpu-smiinfo查看机器上显卡信息npu-smiinfo-tusages-i查看显卡使用率CUDA_VISIBLE_DEVICESASCEND_RT_VISIBLE_DEVICES指定要使用的显卡【未完待续】
- 深入理解 HTML DOM:文档对象模型详解
浪浪山小白兔
html前端
在前端开发中,HTMLDOM(文档对象模型,DocumentObjectModel)是一个非常重要的概念。它是浏览器将HTML文档解析为一个树形结构的方式,开发者可以通过JavaScript动态地访问和操作文档的内容、结构和样式。本文将详细介绍HTMLDOM的核心概念、功能以及实际应用。1.什么是HTMLDOM?HTMLDOM是浏览器将HTML文档解析为一个树形结构的编程接口。它将文档中的每个部分
- 转钱显示服务器错误,中信银行转账为什么显示服务器内部错误
weixin_39606361
转钱显示服务器错误
2016-12-1907:38齐明柱客户经理[来自百度百科]:http500内部服务器错误说明IIS服务器无法解析ASP代码,访问一个静态页面试试是否也出现这个问题,如果访问静态页面没问题,那就要分以下几种情况来分析了:①你是否改变过计算机名称。②站点所在的文件目录是否自定义了安全属性。③安装了域控制器后是否调整了域策略。如果是其中的一种情况,请一一将改变的参数设置回来看是否解决问题。如果静态空间
- 【Python・统计学】卡方检验(原理及代码)
TUTO_TUTO
python统计学python
前言自学笔记,分享给对统计学原理不太清楚但需要在论文中用到的小伙伴,欢迎大佬们补充或绕道。ps:本文不涉及公式讲解(文科生小白友好体质)~(部分定义等来源于知乎)本文重点:卡方检验(非参数检验的一种)【1.卡方检验的简单原理和前提条件】【2.卡方检验的数据实例】【3.卡方检验代码以及残差分析】关于“参数检验”和“非参数检验”的不同,请参考以下文章。【统计学】参数检验和非参数检验的区别和基本统计学1
- python缺失值处理 fillna_python 处理缺失值
weixin_39888018
python缺失值处理fillna
数据缺失主要包括记录缺失和字段信息缺失等情况,其对数据分析会有较大影响,导致结果不确定性更加显著缺失值的处理:删除记录/数据插补/不处理1.判断是否有缺失数据importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromscipyimportstats%matplotlibinlines=pd.Series([12,33,45,23,
- windows 使用pyenv-win 管理多python 版本
little-dog007
windowspython开发语言
链接:GitHub-pyenv-win/pyenv-win:pyenvforWindows.pyenvisasimplepythonversionmanagementtool.ItletsyoueasilyswitchbetweenmultipleversionsofPython.It'ssimple,unobtrusive,andfollowstheUNIXtraditionofsingle-p
- Umami 开源项目教程
计蕴斯Lowell
Umami开源项目教程umamiUmamiisasimple,fast,privacy-focusedalternativetoGoogleAnalytics.项目地址:https://gitcode.com/gh_mirrors/um/umami1.项目的目录结构及介绍Umami是一个用于网站统计的开源项目,其目录结构清晰,便于理解和使用。以下是主要的目录结构及其介绍:/-根目录,包含主要的项目
- LeetCode-127. Word Ladder [C++][Java]
贫道绝缘子
LeetCode刷题怪leetcodejavac++
LeetCode-127.WordLadderhttps://leetcode.com/problems/word-ladder/题目描述AtransformationsequencefromwordbeginWordtowordendWordusingadictionarywordListisasequenceofwordsbeginWord->s1->s2->...->sksuchthat:E
- Vue2和Vue3
秋书一叶
Vuevue.js前端javascript
Vue2和Vue3一、Vue2简介二、Vue3简介三、Vue2和Vue3的关系四、Vue2和Vue3的区别五、Vue2和Vue3各自的优缺点1.Vue22.Vue3六、总结一、Vue2简介Vue.js2(通常称为Vue2)是一款流行的JavaScript前端框架,用于构建现代、交互式、响应式的用户界面。它由EvanYou开发,于2016年发布,是Vue.js框架的第二个主要版本。Vue2的核心思想
- python代码实现了一个基于储备库计算的时间序列预测系统
go5463158465
python算法深度学习pythonnumpy开发语言
#!/usr/bin/envpython#coding:utf-8importnumpyasnpimportscipy.sparseassparsefromscipy.sparseimportlinalgimportpandasaspd#globalvariables#Thiswillchangetheinitialconditionused.Currentlyitstartsfromthefir
- python+selenium获取cookie session_Python3+Selenium获取session和token供Requests使用教程
weixin_39997695
session
#!/usr/bin/python3#coding:utf-8importtimefromseleniumimportwebdriverfromselenium.webdriver.support.waitimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdri
- python实战项目27:boss直聘招聘数据可视化分析
wp_tao
Python副业接单实战项目信息可视化python数据分析
boss直聘招聘数据可视化分析一、数据预处理二、数据可视化三、完整代码一、数据预处理在上一篇博客中,笔者已经详细介绍了使用selenium爬取南昌市web前端工程师的招聘岗位数据,数据格式如下:这里主要对薪水列进行处理,为方便处理,将日薪和周薪的数据删除,将带有13薪和14薪的数据也删除,计算出最低薪资、最高薪资和平均薪资三列。数据预处理代码如下:importpandasaspddf=pd.rea
- python无法启动此程序因为_(python shell怎么用)为啥我按照python安装教程,总说无法启动此程序,因为计算机中丢失?...
weixin_39540023
python无法启动此程序因为
python3.8遍历整个列表?你打印的是colorprint(color)不对应该是magician为啥我按照python安装教程,总说无法启动此程序,因为计算机中丢失?这是你windows操作文件丢失的,和python无关。首先去网上搜索下载api-ms-win-crt-process-l1-1-0.dll文件载完毕后,把dll文件放到C:\Windows\System32下即可。如果下载的d
- 通用免杀概论
曦梦逐影
安全
免杀:病毒木马免于被杀毒软件查杀,基于免杀的技术包含逆向工程、反汇编、系统漏洞等hack技术企业目前标配防护:EDR(终端主机防护)、IPS、IDS、HDR(流量监控)、XDR(相较于EDR更高级),早期的话,基于Server端、Agent端,以及后面更高级的Sass云端部署,早期赛门铁克比较多,目前亚信防毒墙。国内金融、护网:卡巴斯基居多。国外的话强对抗:猎鹰、S1(7x24小时人工智能)架构为
- P5学习笔记
无涯学徒1998
pythonpytorch
本文为365天深度学习训练营中的学习记录博客原作者:K同学啊运动鞋品牌识别设置GPU导入数据构建CNN模型编写训练函数编写测试函数设置动态学习率等间隔动态调整自定义调整多间隔调整余弦退火正式训练结果可视化使用模型进行预测个人总结设置GPUimporttorchimporttorch.nnasnnimporttorchvision.transformsastransformsimporttorchv
- 【学习笔记】昇思25天学习打卡(D14)CV05-SSD目标检测.ipynb
UnseenMe
昇思学习笔记目标检测
SSD目标检测模型简介SSD,全称SingleShotMultiBoxDetector,是WeiLiu在ECCV2016上提出的一种目标检测算法。使用NvidiaTitanX在VOC2007测试集上,SSD对于输入尺寸300x300的网络,达到74.3%mAP(meanAveragePrecision)以及59FPS;对于512x512的网络,达到了76.9%mAP,超越当时最强的FasterRC
- openpyxl表格样式设置
꧁ᝰ苏苏ᝰ꧂
Python自动化办公python
importpandasaspdfromopenpyxlimportWorkbookfromopenpyxlimportload_workbookfromopenpyxl.stylesimportAlignment,Font,Side,Borderdefmm(wb):forsheet_nameinwb.sheetnames:ws=wb[sheet_name]maxrows=ws.max_row#获
- 6 回归集成:xgb、lgb、cat
汀沿河
#2比赛常用的代码回归数据挖掘人工智能
这个代码是从kaggle上拷贝过来的:如何使用三个树模型模块化训练;文本特征如何做,如何挖掘;时间特征的处理;模型权重集成;importpandasaspdimportmathimportnumpyasnpimportjoblibimportoptunafromlightgbmimportLGBMRegressorfromcatboostimportCatBoostRegressorfromxgb
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!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/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!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&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul