- miniconda 修改环境到其他盘
波格斯特
问题备忘chromepython前端
要将Miniconda的默认虚拟环境路径修改到其他盘,可以通过以下步骤实现,具体方法分为修改默认路径和迁移现有环境两种情况:一、修改默认环境路径使用condaconfig命令配置路径打开AnacondaPrompt,执行以下命令(以D盘为例):condaconfig--addenvs_dirsD:\Anaconda_envs\envscondaconfig--addpkgs_dirsD:\Anac
- vue2安装scss
活宝小娜
vuescss前端css
vue2安装scss1、下载npminstall-Dsasssass-loader2、新建src/styles/variables.scss文件,并在里面写一些常用的公共样式,在vue.config.js中添加css部分const{defineConfig}=require('@vue/cli-service')module.exports=defineConfig({transpileDepen
- cmd命令
sanzk
cmd
常用命令查看电脑名称:hostname查看网卡信息:ipconfig快速打开网络设置界面:control.exenetconnections或rundll32.exeshell32.dll,Control_RunDLLncpa.cpld打开防火墙设置:wf.msc指定网卡设置IP地址:netshinterfaceipv4setaddressname="WLAN"static6.6.6.22255.
- vite配置绝对路径-引入资源的绝对路径
在vite.config.ts中配置import{defineConfig}from"vite";importvuefrom"@vitejs/plugin-vue";importpathfrom"path";//引入pathimport{resolve}from"path";//引入pathexportdefaultdefineConfig(({mode})=>{return{plugins:[v
- Swagger2 多环境安全配置
L烧鱼
学习笔记javaswagger
一、生产环境关闭Swagger我们该怎么做?1、在配置文件新增开关#swagger开关swagger2.enable=true2、修改SwaggerConfifig动态设置开关@Configuration@EnableSwagger2publicclassSwaggerConfig{ @Value("${swagger2.enable}") privatebooleanenable; @Be
- 锐捷 | 交换机配置 边缘端口+BPDU
小Mie不吃饭
网络设备系列网络运维
在S3、S4开启边缘端口和BPDU防护功能;检测到环路后处理方式为关闭端口。如果端口检测进入禁用状态,设置200秒后会自动恢复。为了在两台交换机S3和S4上配置边缘端口和BPDU防护功能,并在检测到环路后自动恢复端口,您可以按照以下步骤进行配置:步骤1:配置边缘端口在S3和S4上配置边缘端口,使其能够快速进入转发状态。S3配置S3#configureterminalS3(config)#inter
- git pull报错:Unable to negotiate with port: no matching host key type found. Their offer: ssh-rsa
毛三仙
gitgitssh
Unabletonegotiatewithxx.xx.xx.xxxport29418:nomatchingkeyexchangemethodfound.Theiroffer:diffie-hellman-group14-sha1,diffie-hellman-group1-sha1fatal:无法读取远程仓库。解决方法(在ssh目录新建config文件)sudovim~/.ssh/config添加
- 在Vite创建项目中引入Sass弹出The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0
宝子卡粉
javascript前端node.js
在Vite创建项目中引入Sass弹出ThelegacyJSAPIisdeprecatedandwillberemovedinDartSass2.0.0原因分析:其实通过报错提供的链接就可以知道,sass提供的某些jsapi即将在v2.0.0的新版本中废弃了,提醒你及时更新解决方案:在配置文件vite.config.js中配置//设置scss的api类型为modern-compilercss:{pr
- SpringCloud 打包的 .jar 运行时,不能按日志配置进行输出日志
tvrddmss
springcloudjarspring
1、问题:springcloud打包的.jar文件在运行时,不能按日志配置进行输出日志文件2、查到问题来自nacos,与springcloud的日志冲突,在运行时指定日志配置文件即可。java-Dlogging.config="logback-spring.xml"-jardemo-1.0-SNAPSHOT.jar
- 严格把控K8S集群中的操作权限,为普通用户生成特定的kubeconfig文件
少儿频道
kubernetes容器云原生
文章目录前言一、背景二、证书和证书签名请求(了解)1.证书签名请求2.请求签名流程3.Kubernetes签名者4.证书过期时间限制字段二、脚本示例2.检查集群上下文及csr3.切换集群上下文,检查权限4.普通用户操作总结前言使用并维护过K8S的ops/sre都知道,kubeconfig对于k8s的访问是非常重要。无论是部署,调试还是运维,都需要kubeconfig文件。在通过二进制或者kubea
- Spring 面向切面编程 XML 配置实现
我是大头鸟
javaspringxmljava
Spring支持AOP,并且可以通过XML配置来实现。相关标签介绍:aop:config注明开始配置aop,是配置的开始标签aop:aspect配置切面ref属性是引用相关切面类Bean的idaop:point-cut定义切点expression是具体的表达式id是切点的标识aop:before定义前置通知method是要执行的方法pointcut-ref为引用的aop-point-cut定义的i
- GitLab安装和环境配置(虚拟机环境)
tanphilip
linuxgitlab
一.安装Gitlab前系统预配置准备工作1.关闭firewalld防火墙#systemctlstopfirewalld#systemctldisablefirewalld2.关闭SELINUX并重启系统#vi/etc/sysconfig/selinux...SELINUX=disabled...#reboot二.安装OmnibusGitlab-cepackage1.安装Gitlab组件#yum-y
- centos8.3部署Zabbix5.4及agent安装
IT大力水手
zabbixgrafanazabbix5.4grafanaagent安装
一、安装步骤1.安装zabbix2.系统环境CentOS-8.3.2011-x86_64-minimal.iso3sed-i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config#关闭SELINUX4systemctldisable--nowfirewalld#关闭防火墙5reboot#重启机器6#安装zabbix5.4rpm源rpm-
- SpringBoot 根据配置前缀绑定配置:@ConfigurationProperties
JiaHao汤
SpringBootspringboot后端javaspringboot
文章目录内部Bean配置绑定第三方Bean配置绑定@ConfigurationProperties是Spring在org.springframework.boot.context.properties包中提供的一个注解。它的作用是根据注解中配置的前缀对SpringBoot配置文件(即application.xxx)中前缀相同的配置进行属性绑定。对于@ConfigurationProperties注
- vue和django接口联调
变形金刚卖人寿保险还是汽车保险
前端javascriptvue.js
vue访问服务端接口配置跨域前端跨域打开vite.config.js,在和resolve同级的地方添加配置。proxy代表代理的意思"/api"是以/api开头的路径走这个配置target代表目标changeOrigin:true,是开启跨域请求rewrite是编辑路径。(path)=>path.replace(/^\/api/,"")是去掉/api这样一个路径进来就会被处理,如下:"/api/c
- Linux安装新版docker
鸣琴请剑
dockerlinux
环境:CentOS7dockerversion#查看docker版本,没有则是没装uname-r#查看内核版本,需>=3.10yumupdate-yyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2bash-completion#更新yum,安装工具yum-config-manager--add-repohttp://mirrors.ali
- spring boot整合swagger添加token
null-脑袋大
springbootjava
第一种:importio.swagger.annotations.Api;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importspringfox.documentation.builders.ApiInfoBuilder;
- linux 设置固定内网ip
supermiketho
linuxtcp/ip服务器
设置内网固定Ip创建络配置文件:/etc/sysconfig/network-scripts/ifcfg-ens196(这个名字是根据实际来的)TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DE
- MyBatis 的核心配置文件是干什么的? 它的结构是怎样的? 哪些是必须配置的,哪些是可选的?
冰糖心书房
Mybatis源码系列mybatis
MyBatis的核心配置文件(通常命名为mybatis-config.xml)是MyBatis应用程序的入口点,它定义了MyBatis的全局配置信息。核心配置文件的作用:配置MyBatis的运行时行为:通过标签设置全局参数,控制MyBatis的各种行为,例如是否开启缓存、是否使用延迟加载、是否自动映射等。配置数据源和事务管理器:通过标签配置数据库连接信息和事务管理方式。注册类型别名:通过标签为Ja
- npm 怎么设置代理
阿里嘎多学长
npm前端node.js
在使用npm时,如果需要通过代理服务器进行网络连接,可以使用以下步骤来设置代理:设置HTTP代理:使用以下命令设置HTTP代理:npmconfigsetproxyhttp://:@:将、、和替换为您的代理服务器的用户名、密码、地址和端口号。设置HTTPS代理:如果需要通过HTTPS代理服务器,使用以下命令:npmconfigsethttps-proxyhttp://:@:设置代理环境变量:您也可以
- AI 智能体落地?GitHub 开源 Manus 完美的替代品!!!
大模型教程
人工智能开源大模型AI大模型大模型教程大模型学习Manus
今天早上看到外面都在说Manus。昨天还在研究自动化操作的今天告诉有商业化落地?说实话昨天刚刚找到了一个开源的自动化软件。该webbrowser环境是一个使用playwright库来浏览网页的简单环境。我们启动Chromium浏览器并导航到homepage所提供的RunnerConfig。也是一家中国公司开源的。因为不能使用Manus(没有邀请码),所以直接去他们的案例库拷贝一个结果,直接放到co
- 【Git】 fatal: detected dubious ownership in repository 解决方法
小段爱前端
远程仓库gitgithub
git操作错误提示:解决方法:方法一:输入gitconfig--global--addsafe.directoryC:/Users/21077/vue_shop,但是这只能解决当前的git仓库,其他的git仓库,都要这么做,并且gitconfig-l,会发现一大串的这些操作,具体没有尝试,参考别的博主的
- 【离线安装系列】离线环境下为Ubuntu16.04安装zsh(How to install zsh from source offline)
jaredyam
LinuxShell
准备Ubuntu16.04安装机任意公网机下载安装包按照以下顺序执行安装可完美避坑1.ncurses下载地址:https://ftp.gnu.org/pub/gnu/ncurses原因:依赖包安装:$tar-xzfncurses-*.tar.gz$cdncurses-*$./configure--prefix=/usrCXXFLAGS="-fPIC"CFLAGS="-fPIC"$make&&mak
- Git报错fatal: detected dubious ownership in repository at /**/**/**
ttz25
git
问题gitpull报错fatal:detecteddubiousownershipinrepositoryat'/home/xxx/xxToaddanexceptionforthisdirectory,call:gitconfig--global--addsafe.directoryxxx执行了gitconfig--global--addsafe.directoryxxx也没用解决发现是文件夹以及
- Nginx编译安装
寰宇001
下载、解压Nginxcd/usr/local/srcwgethttp://nginx.org/download/nginx-1.8.0.tar.gztar-zxvfnginx-1.8.0.tar.gz2.编译安装Nginxcd/usr/local/src/nginx-1.8.1配置编译参数./configure\–prefix=/usr/local/nginx\–with-http_realip_
- 升级JDK11 Maven依赖
IOT_player
JDK11后端mavenjavajdk11java11
本文涉及修改pom的内容无先后顺序无依赖关系。涉及修改的依赖:中新增1111...lombok升级至1.18.4后的版本,如1.18.22jacoco升级至0.8.2后的版本,推荐0.8.3maven-surefire-plugin升级至3.0.0-M1后的版本,如3.0.0-M5maven-compiler-plugin升级至3.8.0后的版本,如3.8.1,同时修改configurationr
- 关于std::vector<std::string>的操作
android framework
c++和ndk开发c++算法开发语言
知识点1std::vectorstd::string作为返回参数voidGetConfigState(std::vectorstd::string&vtTemp)2对于std::vectorstd::string取值操作std::vectorstd::string::iteratortheIterator;for(theIterator=vtTemp.begin();theIterator!=vt
- 一个基于LSTM的字符级文本生成模型的训练+使用(pytorch)
一只小铁柱
lstmpytorch人工智能
一、代码实现1.配置文件config.pyimporttorch#设备配置DEVICE=torch.device('cuda'iftorch.cuda.is_available()else'cpu')#超参数和配置SEQ_LENGTH=100#输入序列长度BATCH_SIZE=64#批大小EMBEDDING_DIM=256#嵌入层维度HIDDEN_SIZE=512#LSTM隐藏层大小NUM_LAY
- NodeJs中npm国内慢的问题解决
夏木炎
npm前端node.js
方法一:更改npm配置文件:$npmconfigsetregistryhttp://registry.npm.taobao.orgURL即为需要设置的镜像站点地址,如淘宝镜像:http://registry.npm.taobao.org方法二:你可以使用淘宝NPM镜像定制的cnpm(gzip压缩支持)命令行工具代替默认的npm:$npminstall-gcnpm--registry=https:/
- 在windows10系统上搭建npm仓库源
小妖666
npm前端node.jsverdaccio
安装Verdaccio:npminstall-gverdaccio启动verdaccioverdaccio打开config.yaml路径在第一行configfile-C:\Users\huyun\AppData\Roaming\verdaccio\config.yaml最下面添加一行listen:0.0.0.0:4873另外我们的国内的镜像源一般是使用淘宝镜像去下载东西的,那么可以把我们的镜像源的
- jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
qiaolevip
每天进步一点点学习永无止境跨域众观千象
XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1
- mysql 分区查询优化
annan211
java分区优化mysql
分区查询优化
引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
可以通过查看explain执行计划,是否携带 partitions
- MYSQL存储过程中使用游标
chicony
Mysql存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdecla
- mysql 和 sqlite 区别
Array_06
sqlite
转载:
http://www.cnblogs.com/ygm900/p/3460663.html
mysql 和 sqlite 区别
SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率
MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率
MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq
- pinyin4j使用
oloz
pinyin4j
首先需要pinyin4j的jar包支持;jar包已上传至附件内
方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
/**
* 将汉字转换为全拼
* @param src 你的需要转换的汉字
* @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal
- 微博发送私信
随意而生
微博
在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面
http://weibo.com/message/history?uid=****&name=****
可以发现其发送提交的Post请求和其中的数据,
让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。
- jsp
香水浓
jsp
JSP初始化
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了
JSP执行
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。
当JSP网页完成初始化后
- 在 Windows 上安装 SVN Subversion 服务端
AdyZhang
SVN
在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号
最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使
- android开发中如何使用 alertDialog从listView中删除数据?
aijuans
android
我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2 是选中的序号,但是我不知道如何继续处理下去 1 2 3
- jdk-6u26-linux-x64.bin 安装
baalwolf
linux
1.上传安装文件(jdk-6u26-linux-x64.bin)
2.修改权限
[root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin
3.执行安装文件
[root@localhost ~]# cd /usr/local
[root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs
- MongoDB经典面试题集锦
BigBird2012
mongodb
1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟
- JavaScript异步编程Promise模式的6个特性
bijian1013
JavaScriptPromise
Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。
在我们开始正式介绍之前,我们想看看Javascript Promise的样子:
var p = new Promise(function(r
- [Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager
bit1129
zookeeper
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should
- 【Scala十五】Scala核心九:隐式转换之二
bit1129
scala
隐式转换存在的必要性,
在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:
val button = new JButton
button.addActionListener(
new ActionListener {
def actionPerformed(event: ActionEvent) {
- Android JSON数据的解析与封装小Demo
ronin47
转自:http://www.open-open.com/lib/view/open1420529336406.html
package com.example.jsondemo;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
impor
- [设计]字体创意设计方法谈
brotherlamp
UIui自学ui视频ui教程ui资料
从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。
如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔
- 单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值
bylijinnan
java算法面试题
import java.util.LinkedList;
/*
单调队列 滑动窗口
单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减
题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.
要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1
问题的另一种描述就
- struts2处理一个form多个submit
chiangfai
struts2
web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码:
<s:form action="submit" method="post" namespace="/my">
<s:textfield name="msg" label="叙述:">
- shell查找上个月,陷阱及野路子
chenchao051
shell
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号
- mysql导出数据中文乱码问题
daizj
mysql中文乱码导数据
解决mysql导入导出数据乱码问题方法:
1、进入mysql,通过如下命令查看数据库编码方式:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| Variable_name&nbs
- SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
dcj3sjt126com
PHPsmartysae
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。
官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213
解决方案为:
01
$path
- 《教父》系列台词
dcj3sjt126com
Your love is also your weak point.
你的所爱同时也是你的弱点。
If anything in this life is certain, if history has taught us anything, it is
that you can kill anyone.
不顾家的人永远不可能成为一个真正的男人。 &
- mongodb安装与使用
dyy_gusi
mongo
一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubun
- Git排除目录
geeksun
git
在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。
有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。
1. 针对单一工程排除文件
这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一
- Ubuntu 创建开机自启动脚本的方法
hongtoushizi
ubuntu
转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/
Ubuntu 创建开机自启动脚本的步骤如下:
1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限 $ sudo chmod 755
- 第八章 流量复制/AB测试/协程
jinnianshilongnian
nginxluacoroutine
流量复制
在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发
- 电商系统商品表设计
lkl
DROP TABLE IF EXISTS `category`; -- 类目表
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (
`id` int(11) NOT NUL
- 修改phpMyAdmin导入SQL文件的大小限制
pda158
sqlmysql
用phpMyAdmin导入mysql数据库时,我的10M的
数据库不能导入,提示mysql数据库最大只能导入2M。
phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
- Tomcat性能调优方案
Sobfist
apachejvmtomcat应用服务器
一、操作系统调优
对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。
【适用场景】 任何项目。
二、Java虚拟机调优
应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。
J
- SQLServer学习笔记
vipbooks
数据结构xml
1、create database school 创建数据库school
2、drop database school 删除数据库school
3、use school 连接到school数据库,使其成为当前数据库
4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一