Git 修改已提交 commit 的信息
麦田里的守望者_zhg
Gitgitgithub服务器
1使用背景在使用git的时候,经常会用到一个命令,那就是gitcommit-m'msg',但是这个msg还是有要求的,那就是在push代码的时候,msg不能少于5个字符(中英文都算一个字符),但是在执行gitcommit的时候,这个msg是可以写任意个字符的,也就是说当你commit的时候,没有写够5个字符,那么在push的时候,就会提示不能push,所以就需要用到修改已提交commit的信息。2
忙到没空回家,没精力陪娃,工作竟然还没起色?那你一定是忙错了
木流流马mllm
虽然五一假期刚过,但是想再约朋友聚会,十个人都凑不齐。为啥?大家都工作忙呗,就连父母打来电话,都不敢问周末回不回家,只说家里一切都好,不要挂念。还有的朋友,下班直接在沙发葛优瘫,实在没精力陪孩子玩了。如果追问,那工作忙得怎么样?“哎呀,不行,都是瞎忙”。朋友上班时间忙得都没空喝水,上厕所都得抽空去。就这样,工资也没涨过一分钱。这到底怎么回事呢?一、职场无闲人,但是每个人的“忙”并不一样职场是个价值
2023前端面试时遇到的面试题
No regrets, no return
前端vue.js面试
2023前端面试时遇到的面试题1.数组有哪些方法push、pop、unshift、shift、join、forEach、filter、map、find…2.filter和some返回的分别是一个什么filter返回的是一个数组,some返回的是一个布尔值3.es6新增了哪些方法let和cconst、模板字符串()、扩展运算符、for…of、解构、箭头函数、symbol数据类型、Set和Map方法等
内疚教育和感恩教育
喜悦和平123
大多数家长或多或少的都说过让孩子内疚愧疚的语言,我也如此,自以为这会让孩子理解父母的辛苦和不容易,但适得其反,因为内疚教育不是教育!教育是一棵树摇动另一棵树,一朵云推动另一朵云,一个灵魂唤醒另一个灵魂。而内疚教育其实是一种控制,是压抑、控制、胁迫。内疚教育是表达对孩子的怀疑、否定、不满,久而久之,使孩子形成习得性无助。内疚教育不是教育,而是把我们把对自己的不满、讨厌、无力投射到孩子身上。“我怎么可
读史‖《史记●项羽本纪》之项羽其人
淡妆浓抹两相宜
项羽祖上世代为楚将,祖父项燕为秦将王翦所杀。项羽的生父不明确,少时跟随小叔项梁生活。项梁教他读书习剑,项羽对这些不感兴趣。项梁很生气,问他这不学那不学,难不成长大了要啃老?项羽却说:“读书只要能记住名字就可以了,剑术,也只能敌挡一个人。我要学习能抵挡万人的本领。”于是,项梁教给项羽兵法,但项羽只学了点儿皮毛就不肯学了。由此可见,项羽虽胸有大志却没有干出一番大事业的耐力,这也为以后他的失败埋下伏笔。
零基础开始学习鸿蒙开发-继页面跳转后,页面参数的传递与接收。
心之所想,行则将至
鸿蒙基础开发介绍专栏学习
目录1.首先,我们简单的创建两个页面,即ToParamPage和AccetParamPage。使用方舟编译器可以快速的创建页面,如下图所示,选中Page选项,即可轻松创建Page页面。2.页面的路由传参主要是通过router.pushUrl方法实现,pushUrl方法有两个参数,一个是url,另一个是params,第一个是要跳转页面的路径(这个路径必须在main_pages.json里面配置才能使
沉默,是成长的标志
夏亦未央
手扶下巴,眼望斜阳,脑海里淡然想着,变化的分割线在哪里呢,貌似是那次哭过之后,我就不在喜欢在QQ空间发布心情了,连带着后来习惯用微信,也不喜欢在朋友圈发布心情了。图片发自App偶然间看到一个带字的图片,上面写着沉默是成长的标志,而成熟的标志,就是如何去沉默图片发自App才顿悟,这就是成长。成年以后,不是没有想说的话,而是没有想说的人,正如SHE歌词里唱的那样,越长大越孤单。成年世界,承受的压力太多
基于Spring的消息推送实战(Websocket和前端轮询实现)
星月梦瑾
vuejavaspringwebsocket前端
基于Spring的消息推送实战(Websocket和前端轮询实现)本文介绍了基于Spring的消息推送实现方法,主要介绍了websocket实时消息推送方法(ServerEndpoint方式实现),以及前端客户端轮询方式的消息推送。一、消息推送常见的消息推送方式有轮询、websocket、jpush等。传统http协议需要客户端发起请求,不能服务端进行推送,且建立tcp连接需要多次握手(tcp三次
【vue使用Sass报错】启动项目报错 Syntax Error: SassError: expected selector
lxx-sissi
vue.jssass前端
出现的问题新项目启动的时候,提示:SyntaxError:SassError:expectedselector看了一下发现是sass使用样式穿透/deep/报的错/deep/其实是已经过期的写法,某个版本之后就不支持了但是我同事并没有出现同样的问题,不知道是为啥,也有可能是电脑(mac)的原因解决办法将/deep/更换为::v-deep但是这个项目是多人协作的,有大量页面使用,修改的话会涉及很多页
十二个养生小知识汇总集(十八)
营养师茶茶
一、同样是米,为啥吃糙米更利于减肥❓因为糙米拥有比精白米高出6倍的膳食纤维!能够增加饱腹感,避免过多食用,有助于身体维持能量的负平衡状态,对于脂肪的动员分解和代谢有很好的作用✌所以,想要减肥或者想保持~好身材的朋友们,赶快把平时吃的米饭改成糙米饭吧二、春季易过敏的季节,过敏人士可以多吃这款油͏花粉节季,过敏节季,流感节季补充好棘沙油,帮助修复皮肤、呼吸道和肠道黏膜,让你有拥更好的第一道免防疫线。鼻
2023-08-02
58609af39add
停水的日子时逢仲夏,又逢暑假,本该是非常惬意的休闲时光,哪承想日子因停水而显得黯淡无光。“咱们这几个村可能近段儿时间会停水。”一放暑假,老公爹如是对我说。“为啥呀?”我迫不及待地问。“听说是咱们这儿也要改为丹江口的水了。”“那是好事啊!我有个同事就是用的丹江口的水,听说水质很好。会停多长时间呢?”“那谁知道呢?”我由惊喜即刻转为一脸茫然。得知停水的消息之前,老公爹已经将家里的大桶小桶蓄满了水,但这
2023-02-21 晨间日记
Lily17
今天是什么日子起床:6:35就寝:11:30天气:晴心情:一般纪念日:无总目标:学习网盘课程,阅读电子书籍目标分解:设计知识地图日常记录:7:10英语8:57日记微习惯:微习惯1:每天早上6点30分起床执行情况:完成,微习惯2-1:搜集选题和素材执行情况:完成2-2整理素材,撰写文章执行情况:未完成每天坚持寻找素材。微习惯3:每天运动执行情况:未完成微习惯4:每天晚上九点洗澡执行情况:未完成,微习
数据结构与算法 python实现单链表实现对列
我只要一发
python数据结构与算法Python实现单链表实现对列
对列:先来的先走,后来的后走FIFO实现FIFO的实现数据结构:arroylistlinkedlistdoubllinkedlist最基本的操作,push入列pop出列单链表实现appendpopleftclassFullError(Exception):passclassEmptyError(Exception):passclassQueue(object):def__init__(self,m
web前端,JavaScript字符串和数组,练习题:邮箱格式是否正确,登录名和密码格式是否正确
奔向我
length属性,返回的是字符串的长度indexOf()方法用于获取字符串中返回指定字符串第一次出现的位置(注意:索引从0开始,找不到返回-1)indexOf()方法是从数组中检查指定数据的位置(从后往前找第一个),不存在返回-1includes()方法,从数组中检查指定的数据是否存在,存在返回true,不存在返回falsepush()方法,向数组的末尾添加一个或更多的元素,并返回新的长度spli
清晨寄语第9天
素心向阳生
感谢开悟很迟,但总算开悟了的自己!每天或多或少的取得进步,慢慢的充实自己,提升自己,有目标的向前走,相信自己,只要优秀就不怕缺少舞台!图片发自App昨天学习了有关兴趣的一着篇文章,刷新了对兴趣的理解,之前觉得,所谓兴趣就是自己喜欢干的事,昨天习得,兴趣是一种策动力,也就是说,这件事除了喜欢,还应该能创造价值,并且通过价值的实现,更进一步的促使你更持久、更高层次的做这件事。所以兴趣不仅仅是晒着太阳喝
重温三字经
花开叶落
宋朝·王应麟人之初,性本善。性相近,习相远。苟不教,性乃迁。教之道,贵以专。昔孟母,择邻处。子不学,断机杼。窦燕山,有义方。教五子,名俱扬。养不教,父之过。教不严,师之惰。子不学,非所宜。幼不学,老何为。玉不琢,不成器。人不学,不知义。为人子,方少时。亲师友,习礼仪。香九龄,能温席。孝于亲,所当执。融四岁,能让梨。弟于长,宜先知。首孝悌,次见闻。知某数,识某文。一而十,十而百。百而千,千而万。三才
自然语言处理常用单词
ChenVast
NLP机器学习算法理论与实战单词自然语言处理NLP
AA-not-Aquestion正反问句A-over-AA-上-A原则abbreviation缩写[省略语]ablative夺格(的)abrupt突发音accent口音/{Phonetics}重音accusative受格(的)acousticphonetics声学语音学acquisition习得actionverb动作动词active主动语态activechartparser活动图句法剖析程序ac
谢谢这位朋友喜欢我这篇那年自己喜欢的玩具
63abc4c0289b
有时候,为啥喜欢这个话题因为,那个时候我曾经是老公和我一起回他家后,那个时候我应该是和他结婚有一段时间了,那个时候,自己和以前,那个主任有闹不和,我记得,以前,为啥会在哪里骂人记得好像是因为,管我的用很凶话语,主要,当时,自己坐在车间,也许,是自己爱懒不是偷懒。那个时候,以前爱管我的女的说我,我就是一个懒,不是,偷懒,以前,那个时候,有时候,我记得,以前,她们都是知道我们结婚以后,她们都知道我和小
[译] How things get done on the Go Team
techdashen
golangjava开发语言
6天前,掌舵Go语言团队12年Rsc在golang-dev/群组发文宣布,将在9月1号后辞去当前职位,转去做Gaby和Oscar.这对于Go语言发展无疑是里程碑式的事件。本篇内容是根据6月份他和另外两位同事参与GoTime音频录制内容的整理与翻译,英文原文在gotime/go-time-318.md,过程中为符合中文惯用表达有适当删改,版权归原作者所有.AngelicaHill:欢迎收听GoTim
华为23年笔试题
魔法少女小严
华为算法
消息传输题目描述在给定的mxn(1>&grid,vector>&visited,intx,inty){queue>que;//定义队列que.push({x,y});//起始节点加入队列visited[x][y]=true;//只要加入队列,立刻标记为访问过的节点while(!que.empty()){//开始遍历队列里的元素paircur=que.front();que.pop();//从队列取
数据结构与c语言程序设计 考研,2017年东北大学软件学院858C语言程序设计与数据结构考研题库...
weixin_39885803
数据结构与c语言程序设计考研
一、填空题1.设有一个空找,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序栈,每个元素占4个字节。【答案】23;100CH2.在n个顶点的非空无向图中,最多有_____个连通分量。【答案】n【解析】当n个顶点之间没有边,都是孤立的顶点时,有n个连
2022-06-06
禅心文学
有人的地方就有“江湖”,有人的地方难免就有小人。“君子喻于义,小人喻于利。”通常小人做人处事不厚道,常以不良手段达成目的。“人在江湖漂,哪能不挨刀。”与小人相处,稍不谨慎,会吃大亏。所以学会分辨小人,非常重要。他们言行有以下特色:1喜欢造谣生事。通常是别有阴谋目的,并不单纯以此为乐;有时为了升迁,衬托自己优秀,也不惜丑化对手。他们唯恐天下不乱,惯用“听说”造句,歪曲事实,无中生有。2喜欢挑拨离间。
国庆骑行,贵州茅台赤水河!
热爱骑行的周校长
国庆骑行,贵州茅台赤水河,活动日期:2020年10月2日(集合日)——2020年10月7日(解散日)行程计划安排:10月2日:预计下午到达遵义,晚上入住遵义。红色文化旅游线路:遵义会议会址、红军山、捞沙巷(遵义特色小吃街)10月3日:娄山关遗址(红军著名的战斗遗址)苟坝会议会址(遵义会议的延伸,习主席亲自去过的农家乐)探索茅台酱香型白酒的生产工艺勾兑流程并品鉴美味的茅台酱香型白酒茅台古镇夜景(入住
二刷代码随想录训练营Day 25|491.递增子序列、46.全排列、47.全排列 II、332.重新安排行程、51.n皇后、37.解数独
好名字可以让你的朋友更容易记住你498
算法leetcodec++数据结构
1.递增子序列代码随想录视频讲解:回溯算法精讲,树层去重与树枝去重|LeetCode:491.递增子序列_哔哩哔哩_bilibili代码:classSolution{private:vectorpath;vector>result;voidbacktracking(vector&nums,intstartIndex){if(path.size()>1){result.push_back(path)
Spring4.1新特性——综述
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
Schema与数据类型优化
annan211
数据结构mysql
目前商城的数据库设计真是一塌糊涂,表堆叠让人不忍直视,无脑的架构师,说了也不听。
在数据库设计之初,就应该仔细揣摩可能会有哪些查询,有没有更复杂的查询,而不是仅仅突出
很表面的业务需求,这样做会让你的数据库性能成倍提高,当然,丑陋的架构师是不会这样去考虑问题的。
选择优化的数据类型
1 更小的通常更好
更小的数据类型通常更快,因为他们占用更少的磁盘、内存和cpu缓存,
第一节 HTML概要学习
chenke
htmlWebcss
第一节 HTML概要学习
1. 什么是HTML
HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,它规定了自己的语法规则,用来表示比“文本”更丰富的意义,比如图片,表格,链接等。浏览器(IE,FireFox等)软件知道HTML语言的语法,可以用来查看HTML文档。目前互联网上的绝大部分网页都是使用HTML编写的。
打开记事本 输入一下内
MyEclipse里部分习惯的更改
Array_06
eclipse
继续补充中----------------------
1.更改自己合适快捷键windows-->prefences-->java-->editor-->Content Assist-->
Activation triggers for java的右侧“.”就可以改变常用的快捷键
选中 Text
近一个月的面试总结
cugfy
面试
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46753275
前言
打算换个工作,近一个月面试了不少的公司,下面将一些面试经验和思考分享给大家。另外校招也快要开始了,为在校的学生提供一些经验供参考,希望都能找到满意的工作。 
HTML5一个小迷宫游戏
357029540
html5
通过《HTML5游戏开发》摘抄了一个小迷宫游戏,感觉还不错,可以画画,写字,把摘抄的代码放上来分享下,喜欢的同学可以拿来玩玩!
<html>
<head>
<title>创建运行迷宫</title>
<script type="text/javascript"
10步教你上传githib数据
张亚雄
git
官方的教学还有其他博客里教的都是给懂的人说得,对已我们这样对我大菜鸟只能这么来锻炼,下面先不玩什么深奥的,先暂时用着10步干净利索。等玩顺溜了再用其他的方法。
操作过程(查看本目录下有哪些文件NO.1)ls
(跳转到子目录NO.2)cd+空格+目录
(继续NO.3)ls
(匹配到子目录NO.4)cd+ 目录首写字母+tab键+(首写字母“直到你所用文件根就不再按TAB键了”)
(查看文件
MongoDB常用操作命令大全
adminjun
mongodb操作命令
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。
一
bat调用jar包并传入多个参数
aijuans
下面的主程序是通过eclipse写的:
1.在Main函数接收bat文件传递的参数(String[] args)
如: String ip =args[0]; String user=args[1]; &nbs
Java中对类的主动引用和被动引用
ayaoxinchao
java主动引用对类的引用被动引用类初始化
在Java代码中,有些类看上去初始化了,但其实没有。例如定义一定长度某一类型的数组,看上去数组中所有的元素已经被初始化,实际上一个都没有。对于类的初始化,虚拟机规范严格规定了只有对该类进行主动引用时,才会触发。而除此之外的所有引用方式称之为对类的被动引用,不会触发类的初始化。虚拟机规范严格地规定了有且仅有四种情况是对类的主动引用,即必须立即对类进行初始化。四种情况如下:1.遇到ne
导出数据库 提示 outfile disabled
BigBird2012
mysql
在windows控制台下,登陆mysql,备份数据库:
mysql>mysqldump -u root -p test test > D:\test.sql
使用命令 mysqldump 格式如下: mysqldump -u root -p *** DBNAME > E:\\test.sql。
注意:执行该命令的时候不要进入mysql的控制台再使用,这样会报
Javascript 中的 && 和 ||
bijian1013
JavaScript&&||
准备两个对象用于下面的讨论
var alice = {
name: "alice",
toString: function () {
return this.name;
}
}
var smith = {
name: "smith",
[Zookeeper学习笔记之四]Zookeeper Client Library会话重建
bit1129
zookeeper
为了说明问题,先来看个简单的示例代码:
package com.tom.zookeeper.book;
import com.tom.Host;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Wat
【Scala十一】Scala核心五:case模式匹配
bit1129
scala
package spark.examples.scala.grammars.caseclasses
object CaseClass_Test00 {
def simpleMatch(arg: Any) = arg match {
case v: Int => "This is an Int"
case v: (Int, String)
运维的一些面试题
yuxianhua
linux
1、Linux挂载Winodws共享文件夹
mount -t cifs //1.1.1.254/ok /var/tmp/share/ -o username=administrator,password=yourpass
或
mount -t cifs -o username=xxx,password=xxxx //1.1.1.1/a /win
Java lang包-Boolean
BrokenDreams
boolean
Boolean类是Java中基本类型boolean的包装类。这个类比较简单,直接看源代码吧。
public final class Boolean implements java.io.Serializable,
读《研磨设计模式》-代码笔记-命令模式-Command
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* GOF 在《设计模式》一书中阐述命令模式的意图:“将一个请求封装
matlab下GPU编程笔记
cherishLC
matlab
不多说,直接上代码
gpuDevice % 查看系统中的gpu,,其中的DeviceSupported会给出matlab支持的GPU个数。
g=gpuDevice(1); %会清空 GPU 1中的所有数据,,将GPU1 设为当前GPU
reset(g) %也可以清空GPU中数据。
a=1;
a=gpuArray(a); %将a从CPU移到GPU中
onGP
SVN安装过程
crabdave
SVN
SVN安装过程
subversion-1.6.12
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-openssl=/
sql 行列转换
daizj
sql行列转换行转列列转行
行转列的思想是通过case when 来实现
列转行的思想是通过union all 来实现
下面具体例子:
假设有张学生成绩表(tb)如下:
Name Subject Result
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
*/
/*
想变成
姓名 &
MySQL--主从配置
dcj3sjt126com
mysql
linux下的mysql主从配置: 说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低, Master的版本肯定不能高于Slave版本。(版本向下兼容)
mysql1 : 192.168.100.1 //master mysq
关于yii 数据库添加新字段之后model类的修改
dcj3sjt126com
Model
rules:
array('新字段','safe','on'=>'search')
1、array('新字段', 'safe')//这个如果是要用户输入的话,要加一下,
2、array('新字段', 'numerical'),//如果是数字的话
3、array('新字段', 'length', 'max'=>100),//如果是文本
1、2、3适当的最少要加一条,新字段才会被
sublime text3 中文乱码解决
dyy_gusi
Sublime Text
sublime text3中文乱码解决
原因:缺少转换为UTF-8的插件
目的:安装ConvertToUTF8插件包
第一步:安装能自动安装插件的插件,百度“Codecs33”,然后按照步骤可以得到以下一段代码:
import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a30980927
概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM
geeksun
PHP
CGI
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不
Git push 报错 "error: failed to push some refs to " 解决
hongtoushizi
git
Git push 报错 "error: failed to push some refs to " .
此问题出现的原因是:由于远程仓库中代码版本与本地不一致冲突导致的。
由于我在第一次git pull --rebase 代码后,准备push的时候,有别人往线上又提交了代码。所以出现此问题。
解决方案:
1: git pull
2:
第四章 Lua模块开发
jinnianshilongnian
nginxlua
在实际开发中,不可能把所有代码写到一个大而全的lua文件中,需要进行分模块开发;而且模块化是高性能Lua应用的关键。使用require第一次导入模块后,所有Nginx 进程全局共享模块的数据和代码,每个Worker进程需要时会得到此模块的一个副本(Copy-On-Write),即模块可以认为是每Worker进程共享而不是每Nginx Server共享;另外注意之前我们使用init_by_lua中初
java.lang.reflect.Proxy
liyonghui160com
1.简介
Proxy 提供用于创建动态代理类和实例的静态方法
(1)动态代理类的属性
代理类是公共的、最终的,而不是抽象的
未指定代理类的非限定名称。但是,以字符串 "$Proxy" 开头的类名空间应该为代理类保留
代理类扩展 java.lang.reflect.Proxy
代理类会按同一顺序准确地实现其创建时指定的接口
Java中getResourceAsStream的用法
pda158
java
1.Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.get
spring 包官方下载地址(非maven)
sinnk
spring
SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径:
http://repo.springsource.org/libs-release-local/org/springframework/spring/
s
Oracle学习笔记(7) 开发PLSQL子程序和包
vipbooks
oraclesql编程
哈哈,清明节放假回去了一下,真是太好了,回家的感觉真好啊!现在又开始出差之旅了,又好久没有来了,今天继续Oracle的学习!
这是第七章的学习笔记,学习完第六章的动态SQL之后,开始要学习子程序和包的使用了……,希望大家能多给俺一些支持啊!
编程时使用的工具是PLSQL