#include#include#include#defineSIZE7voidluck(intsourse[],intsize,inttimes);intmain(void){intsoid[SIZE];for(inti=0;i
复盘
土一13郝瑾珂
1,从本篇文章/音频/视频中我学到的最重要的概念名词变形容词:1.名词后加-ful,如hope→hopeful,meaning→meaningful2.名词后加-y,如:luck→lucky,cloud→cloudy;wind→windy;rain→rainy;3.在名词后加-ly,如:friend→friendlylove→lovely4.方位名词加-ern,如:east→easternwest
大好人投的人设(part1)
结婚鸟
名:约翰(John)姓:拉克(Luck)性别:男性格:开朗,外向,莽(爱好:预测(瞎蒙)(bushi),抛硬币外貌随便()替身名:幸运者(TheLuckyOne/T.L.O.)替身能力:1.预测:抛硬币前将两个选项注入硬币的正反两面,抛硬币后呈现结果(正反面),若正反面都没有正确选项,则将选择接近的那个(可以多次使用此能力)2.交替空间(被虫箭刺中后):把另一个平行宇宙的一个人与此宇宙的同样的人互
【buuctf Reverse】[GXYCTF2019]luck_guy wp
江山点墨
ctfctfbuuctfReverse
[GXYCTF2019]luck_guyhttps://buuoj.cn/challenges#[GXYCTF2019]luck_guy只有一个可执行文件,IDA64位直接干进main函数,F5反编译,看主要处理函数,跳转进去在这里看到。flag是由f1和f2拼出来的,f1在汇编中有,双击查看.data:0000000000601078f1db'GXY{do_not_',0;DATAXREF:ge
BUUCTF Reverse 逆向方向 9-16题 详解wp
徐小潜
CTF_Reverse网络安全安全学习方法经验分享系统安全笔记
目录不一样的flag_迷宫SimpleRev_小端序Java逆向解密luck_guyJustRE刮开有奖_特殊加密简单注册器pyre觉得这篇文章不错的话就收藏、点赞、评论、关注我吧~相关推荐:1-8题详解博客看这里→BUUCTF逆向1-8题wp逆向工具下载点这里→爱盘-在线破解工具包逆向入门博客看这里→逆向入门规划不一样的flag_迷宫分析代码11:给出字符长度为25的字符串14-19:打印提示信
Today Is Unlucky for People Who Have Bad Luck Today
吴和平vip
TodayIsUnluckyforPeopleWhoHaveBadLuckTodayIfyouhaveParaskevidekatriaphobia,todayisnotyourday.That'sright,ParaskevidekatriaphobiaisfearofFridaythe13thandtheaccidents,mishapsandmisfortunesthoughtbysomet
You Are Every Single Day.
廖凌云
Youarethebooksyouread,thefilmsyouwatch,themusicyoulistento,thepeopleyoumeet,thedreamsyouhave,andtheconversationsyouengagein.Youarewhatyoutakefromthese.你读过的每本书,看过的每部电影,听过的每首歌,见过的每个人,做过的每个梦,以及参与过的每段对话,从
python爬虫之协程
longfei815
案例pythonpython爬虫开发语言
1、同步代码:importtimedefrun(index):print("luckyisagoodman",index)time.sleep(2)print("luckyisaniceman",index)foriinrange(1,5):run(i)运行结果:luckyisagoodman1luckyisaniceman1luckyisagoodman2luckyisaniceman2luck
幸运值 - DarkVoxel Wiki
Wormwaker
DarkVoxelc++DarkVoxel游戏
[首页]幸运值(luck)是DarkVoxel2的一个小指标,将会影响各种随机事件的概率。幸运值范围是0-100,越高越幸运,均值为50.请注意,幸运值只是一项略微影响随机事件的因素,并非是一个很影响游戏的BUFF,不应该直接影响玩家的各项基础指标,因为这是不科学的。玩家的幸运值将会影响下列与玩家相关的事件:事件与幸运值的定量联系描述对于很在意幸运值的玩家而言方块的有概率掉落物品的掉落掉落物掉落的
[python]变量与常量
叶雨莳
python
变量语法结构:变量名=valueluck_number=8在堆内存中开一块空间,放入8,栈内存中变量名luck_number指向堆当中的内存空间通过赋不同类型的值,可以直接动态修改python变量的数据类型在python中允许多个变量指向同一个值no=number=1024print(no,number)print(id(no))#id()查看对象的内存地址print(id(number))变量是
高效阅读day8 - 草稿
宇宙公民符航宇
今天,是高效阅读的第八天。我们在开始上课前,先玩了一个小游戏。游戏内容是老师发了一份顺序混乱的文字让我们阅读。大家虽然看似读的很流畅,其实已经错了不少五分,因为这些字的顺序有大部分都是乱的,而我们平常读的文章都是顺序通顺的。王这篇短文一眼看过去也会以为他是顺序不错的读完之后才发现自己错了不少字。在上课之前还有一件值得一提的事。明天讲课的老师并不是mei老师。而是我们的副班。今天,我们的luck老师
PHP YII 抽奖接口,大转盘抽奖 抽奖代码 【附源码+完整版】
付煜晨
PHP学习记录php数据库json
json;self::isRequired(array('userid','eid','prizeid'),true);//抽奖id的值$jison['prizeid'];$sql='selectaward_name,frequency,consume_score,prize,`explain`,start_time,end_time,luck_draw_num,luckDrawProbabili
Python变量与常量
python成长之路
Pythonpython开发语言
一.变量1.变量的语法结构变量名=value举例:luck_number=82.变量名的定义和使用luck_number=8#创建一个整型变量luck_number,并为其赋值为8my_name='张三'print('luck_number的数据类型是:',type(luck_number))print(my_name,'的幸运数字是',luck_number)#Python动态修改变量的数据类型
He'll still walk to the dock and wait for you every morning and every day.
徐小豆呀
还从来没有和这么一大群人一起吃饭聊天看电影,感觉特别好。看了海王这个电影感触还挺多的,现在想想里面的一些场景还特别震撼,里面的公主和女王都好美啊身材也特别好,还有亚瑟哈哈。我特别喜欢把我看过的电影讲给别人听,虽然讲得乱七八糟的,昨天回来就讲给男朋友和闺蜜听,把我的一些感受也和他们分享,感觉特别好,共同滋养。图片发自App第一次参加新春大集市,吃的特别开心,还买到了恩恩王子家的精油和肥皂,而且和王宁
BUUCTF——Reverse——[GXYCTF2019]luck_guy
恣睢s
网络安全网络安全
1、题目2、工具ExeinfoPE:查壳工具。IDA:是一款功能强大的反汇编工具,用于分析和逆向工程二进制文件。python:编写自动化脚本。3、方法下载压缩包,解压得到一个没有后缀的文件。用ExeinfoPE查询该文件是否加了壳。发现这是一个64位的.elf文件(linux),并且没有壳。使用64位的IDA将其打开。找到main函数,双击,按F5进行反汇编。主函数中要求输入一个数字,然后该数字被
Time is luck
DHeyes
《极简主义》、《瓦尔登湖》、《怦然心动的整理魔法》阐明如何过有意义的人生!先行动吧!阅读、写作就是开始!图片发自App
概率论中的 50 个具有挑战性的问题 [第 6 部分]:Chuck-a-Luck
无水先生
概率模型概率论
一、说明我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克·莫斯特勒(FrederickMosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇文章只有1个问题,使其成为一个总共有50个部分的系列。让我们潜入并激活我们的脑细胞!图片由作者使用DALL-E3提供。Chuck-a-Luck是一种赌博游戏
骇客前传|第十三章 无法面对的朋友
日三简
“alpha先生,今天会有一批志愿者,前来安装追踪器,请安排手术。”bill在母体公司例会上部署着工作。“使用兼容人类的型号HM-3。”“好的”,alpha记录了一下,退出bill办公室。接着,又布置了其它事情。“最近,luck使用CDR活动的踪迹已经监测不到了,有可能使用了加密信道。而目前我方无能为力,只有等待五角那边的结果。”一个工程师汇报。bill打断了他的汇报:“01号实验品昨晚折了,早些
为什么基本单词已掌握,词性转换题屡屡出错?
Jenny_Peng
词性转换题是根据课本中的基本单词延伸出来的。例如,luck(n.)-lucky(adj.)-luckily(adv.)-unlucky(adj.)-unluckily(adv.)可以看出是由课文中出现的名词luck延伸出另外不同词性四个单词。那么有同学会说,这个多单词好难记啊!下面教大家一个记住词性规律方法。1.通过上面的例子,我们可以看出名词luck后面加y就变成了形容词lucky。还有一些表示
android项目实战之Glide4.x版本以上加载图片用法
sccd2009
android
引言Glide4.x以上版本,加载图片采用新方式,引入RequestOptions实现RequestOptionsoptions=newRequestOptions().override(200,200).sizeMultiplier(0.5f).fitCenter().placeholder(com.luck.picture.lib.R.drawable.ps_image_placeholder
GDOUCTF2023-Reverse WP
Sciurdae
CTF比赛WPCTF学习Reverse密码学算法
文章目录[GDOUCTF2023]Check_Your_Luck[GDOUCTF2023]Tea[GDOUCTF2023]easy_pyc[GDOUCTF2023]doublegame[GDOUCTF2023]L!s![GDOUCTF2023]润!附[GDOUCTF2023]Check_Your_Luck根据if使用z3约束求解器。EXP:fromz3import*#创建整数变量v,w,x,y,z
c和k怎么发音,ck合起来又怎么发音
xiangpingeasy
英语
c在元音字母a,o,u之前,发[k],如cat,come,cut。在元音字母e,i和半元音字母y之前,发[s],如ceiling,city,cycle。在字母s之后,不发音,如science。(也可以认为sc这个字母组合发[s])k一般情况下发[k],但在n之前不发音,如know。(也可以认为kn这个字母组合发[n])ck合起来成为字母组合,发[k],如back,block,luck。
java学习
c667ec5a71d8
2.从最高维开始,分别为每一维分配空间,例如:Strings[][]=newString[2][];s[0]=newString[2];s[1]=newString[3];s[0][0]=newString("Good");s[0][1]=newString("Luck");s[1][0]=newString("to");s[1][1]=newString("you");s[1][2]=newSt
Good luck to me.
落拓人
其实,写文章的过程也是一个逐渐认识自己的过程,近些日子我开始选择一些不同于往常的方式尝试着给这平静的生活泛起一丝涟漪。我喜欢把一段时间定制好一个小计划,实现之后,便会小有一番成就,别人不知道,可我自己很清楚,这导致在别人眼中成了一个在一个犄角旮旯傻笑的姑娘。生活是一成不变的,时间过得很平静,没办法,作为在时间线上不停奔走的人,只有靠着自己上蹿下跳才会过出不一样的精彩。上大学前,我会把自己放在一个存
QT 项目 智能家居系统 上位机
_She001
个人项目专栏智能家居
有哪些文件:头文件:1.auidio.h语音识别模块2.camera.h人脸识别登录模块3.chooselevelscene.h翻金币游戏的4.dataconfig.h翻金币游戏的关卡的数据5.entry_mode.h登录方式的界面类6.luck_draw.h开心一天的界面类7.mainsence.h翻金币游戏的背景图片的类8.mainwindow.h2048游戏类9.misic_display.
自驾游 Day. 07 「天台山」
木子君学长
「天台山」是我们第7天自驾游的目的地。一览天台山,半壁全唐诗!作为浙东唐诗之路的一部分,除了大名鼎鼎的诗仙李白在此留下了他的笔墨之外,还有其余上百位诗人到此一游,留下千古佳句。————————推荐指数:★★★★☆大瀑布和仙谷的风格迥异,如果说前者是一位气势磅礴的套马汉子,那么后者则是一位深谷幽兰般的娇弱女子。由动及静,我的心灵接受了瀑布的震撼,然后转眼间又沉溺于唐朝诗人的郎朗诗声中。如果说「神仙居
buuctf - re 刷题记录 1-18
yyyyzzzllll
CTF系列问题#rere
buuctf-re刷题记录buuctf-re刷题记录1、easyre2、reverse14、内涵的软件5、新年快乐6、xor7、helloword8、reverse39、不一样的flag10、SimpleRev11、Java逆向解密12、[GXYCTF2019]luck_guy14、findit15、[BJDCTF2020]JustRE16、简单注册器17、[GWCTF2019]pyre18、[A
GRUB(bootloader)引导流程 学习笔记
丹增
笔记grub
https://www.cnblogs.com/Link-Luck/p/9858869.htmlhttpsGRUB引导流程GRUB,GRandUnifiedBootlader,MBR分区示意图。GRUB启动示意图stage2的主要功能功能详解GRUB识别硬盘设备:grub常用命令GRUB,GRandUnifiedBootlader,1、用于选择操作系统分区上的不同内核,2、用于向这些内核传递启动参
A rainy day.
小小青夫人
Rainingitisraining.AndIwannakissingyou.Lyingonthesofa.Healingmyself.Lifeismagic.Justlikeaijiu.Burning,Whenitisraining,paintingOveralldoom.andpracticingWithloveandenergetic,Makingitevenbetter.
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite
iwindyforest
vmwaremac os10.10workstationplayer
最近尝试了下VMware下安装MacOS 系统,
安装过程中发现网上可供参考的文章都是VMware Workstation 10以下, MacOS X 10.9以下的文章,
只能提供大概的思路, 但是实际安装起来由于版本问题, 走了不少弯路, 所以我尝试写以下总结, 希望能给有兴趣安装OSX的人提供一点帮助。
写在前面的话:
其实安装好后发现, 由于我的th
关于《基于模型驱动的B/S在线开发平台》源代码开源的疑虑?
deathwknight
JavaScriptjava框架
本人从学习Java开发到现在已有10年整,从一个要自学 java买成javascript的小菜鸟,成长为只会java和javascript语言的老菜鸟(个人邮箱:
[email protected])
一路走来,跌跌撞撞。用自己的三年多业余时间,瞎搞一个小东西(基于模型驱动的B/S在线开发平台,非MVC框架、非代码生成)。希望与大家一起分享,同时有许些疑虑,希望有人可以交流下
平台
如何把maven项目转成web项目
Kai_Ge
mavenMyEclipse
创建Web工程,使用eclipse ee创建maven web工程 1.右键项目,选择Project Facets,点击Convert to faceted from 2.更改Dynamic Web Module的Version为2.5.(3.0为Java7的,Tomcat6不支持). 如果提示错误,可能需要在Java Compiler设置Compiler compl
主管???
Array_06
工作
转载:http://www.blogjava.net/fastzch/archive/2010/11/25/339054.html
很久以前跟同事参加的培训,同事整理得很详细,必须得转!
前段时间,公司有组织中高阶主管及其培养干部进行了为期三天的管理训练培训。三天的课程下来,虽然内容较多,因对老师三天来的课程内容深有感触,故借着整理学习心得的机会,将三天来的培训课程做了一个
python内置函数大全
2002wmj
python
最近一直在看python的document,打算在基础方面重点看一下python的keyword、Build-in Function、Build-in Constants、Build-in Types、Build-in Exception这四个方面,其实在看的时候发现整个《The Python Standard Library》章节都是很不错的,其中描述了很多不错的主题。先把Build-in Fu
JSP页面通过JQUERY合并行
357029540
JavaScriptjquery
在写程序的过程中我们难免会遇到在页面上合并单元行的情况,如图所示
如果对于会的同学可能很简单,但是对没有思路的同学来说还是比较麻烦的,提供一下用JQUERY实现的参考代码
function mergeCell(){
var trs = $("#table tr");
&nb
Java基础
冰天百华
java基础
学习函数式编程
package base;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
// Integer a = 4;
// Double aa = (double)a / 100000;
// Decimal
unix时间戳相互转换
adminjun
转换unix时间戳
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)
getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 62135
作为一个合格程序员该做的事
aijuans
程序员
作为一个合格程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多
2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作
3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重
由html5视频播放引发的总结
ayaoxinchao
html5视频video
前言
项目中存在视频播放的功能,前期设计是以flash播放器播放视频的。但是现在由于需要兼容苹果的设备,必须采用html5的方式来播放视频。我就出于兴趣对html5播放视频做了简单的了解,不了解不知道,水真是很深。本文所记录的知识一些浅尝辄止的知识,说起来很惭愧。
视频结构
本该直接介绍html5的<video>的,但鉴于本人对视频
解决httpclient访问自签名https报javax.net.ssl.SSLHandshakeException: sun.security.validat
bewithme
httpclient
如果你构建了一个https协议的站点,而此站点的安全证书并不是合法的第三方证书颁发机构所签发,那么你用httpclient去访问此站点会报如下错误
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path bu
Jedis连接池的入门级使用
bijian1013
redisredis数据库jedis
Jedis连接池操作步骤如下:
a.获取Jedis实例需要从JedisPool中获取;
b.用完Jedis实例需要返还给JedisPool;
c.如果Jedis在使用过程中出错,则也需要还给JedisPool;
packag
变与不变
bingyingao
不变变亲情永恒
变与不变
周末骑车转到了五年前租住的小区,曾经最爱吃的西北面馆、江西水饺、手工拉面早已不在,
各种店铺都换了好几茬,这些是变的。
三年前还很流行的一款手机在今天看起来已经落后的不像样子。
三年前还运行的好好的一家公司,今天也已经不复存在。
一座座高楼拔地而起,
【Scala十】Scala核心四:集合框架之List
bit1129
scala
Spark的RDD作为一个分布式不可变的数据集合,它提供的转换操作,很多是借鉴于Scala的集合框架提供的一些函数,因此,有必要对Scala的集合进行详细的了解
1. 泛型集合都是协变的,对于List而言,如果B是A的子类,那么List[B]也是List[A]的子类,即可以把List[B]的实例赋值给List[A]变量
2. 给变量赋值(注意val关键字,a,b
Nested Functions in C
bookjovi
cclosure
Nested Functions 又称closure,属于functional language中的概念,一直以为C中是不支持closure的,现在看来我错了,不过C标准中是不支持的,而GCC支持。
既然GCC支持了closure,那么 lexical scoping自然也支持了,同时在C中label也是可以在nested functions中自由跳转的
Java-Collections Framework学习与总结-WeakHashMap
BrokenDreams
Collections
总结这个类之前,首先看一下Java引用的相关知识。Java的引用分为四种:强引用、软引用、弱引用和虚引用。
强引用:就是常见的代码中的引用,如Object o = new Object();存在强引用的对象不会被垃圾收集
读《研磨设计模式》-代码笔记-解释器模式-Interpret
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 解释器(Interpreter)模式的意图是可以按照自己定义的组合规则集合来组合可执行对象
*
* 代码示例实现XML里面1.读取单个元素的值 2.读取单个属性的值
* 多
After Effects操作&快捷键
cherishLC
After Effects
1、快捷键官方文档
中文版:https://helpx.adobe.com/cn/after-effects/using/keyboard-shortcuts-reference.html
英文版:https://helpx.adobe.com/after-effects/using/keyboard-shortcuts-reference.html
2、常用快捷键
Maven 常用命令
crabdave
maven
Maven 常用命令
mvn archetype:generate
mvn install
mvn clean
mvn clean complie
mvn clean test
mvn clean install
mvn clean package
mvn test
mvn package
mvn site
mvn dependency:res
shell bad substitution
daizj
shell脚本
#!/bin/sh
/data/script/common/run_cmd.exp 192.168.13.168 "impala-shell -islave4 -q 'insert OVERWRITE table imeis.${tableName} select ${selectFields}, ds, fnv_hash(concat(cast(ds as string), im
Java SE 第二讲(原生数据类型 Primitive Data Type)
dcj3sjt126com
java
Java SE 第二讲:
1. Windows: notepad, editplus, ultraedit, gvim
Linux: vi, vim, gedit
2. Java 中的数据类型分为两大类:
1)原生数据类型 (Primitive Data Type)
2)引用类型(对象类型) (R
CGridView中实现批量删除
dcj3sjt126com
PHPyii
1,CGridView中的columns添加
array(
'selectableRows' => 2,
'footer' => '<button type="button" onclick="GetCheckbox();" style=&
Java中泛型的各种使用
dyy_gusi
java泛型
Java中的泛型的使用:1.普通的泛型使用
在使用类的时候后面的<>中的类型就是我们确定的类型。
public class MyClass1<T> {//此处定义的泛型是T
private T var;
public T getVar() {
return var;
}
public void setVa
Web开发技术十年发展历程
gcq511120594
Web浏览器数据挖掘
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
openSession()与getCurrentSession()区别:
hetongfei
javaDAOHibernate
来自 http://blog.csdn.net/dy511/article/details/6166134
1.getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2. getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。
这里getCurrentSession本地事务(本地
第一章 安装Nginx+Lua开发环境
jinnianshilongnian
nginxluaopenresty
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
HSQLDB In-Process方式访问内存数据库
liyonghui160com
HSQLDB一大特色就是能够在内存中建立数据库,当然它也能将这些内存数据库保存到文件中以便实现真正的持久化。
先睹为快!
下面是一个In-Process方式访问内存数据库的代码示例:
下面代码需要引入hsqldb.jar包 (hsqldb-2.2.8)
import java.s
Java线程的5个使用技巧
pda158
java数据结构
Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常
工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。
开发资源大整合:编程语言篇——JavaScript(1)
shoothao
JavaScript
概述:本系列的资源整合来自于github中各个领域的大牛,来收藏你感兴趣的东西吧。
程序包管理器
管理javascript库并提供对这些库的快速使用与打包的服务。
Bower - 用于web的程序包管理。
component - 用于客户端的程序包管理,构建更好的web应用程序。
spm - 全新的静态的文件包管
避免使用终结函数
vahoa.ma
javajvmC++
终结函数(finalizer)通常是不可预测的,常常也是很危险的,一般情况下不是必要的。使用终结函数会导致不稳定的行为、更差的性能,以及带来移植性问题。不要把终结函数当做C++中的析构函数(destructors)的对应物。
我自己总结了一下这一条的综合性结论是这样的:
1)在涉及使用资源,使用完毕后要释放资源的情形下,首先要用一个显示的方