- enq: HW - contention
jnrjian
oraclesql
Symptoms1.Thereisaperformanceslowdownwithalargenumberofwaitsfor'enqHW-contention'.2.ASHReportsshowsthewaitevent'enqHW-contention'whichincludesSQLwithLOBObjects.CauseTheHWenqueueisusedtomanagethealloca
- 浏览器标题闪烁功能
Krorainas
前端javascript前端html5
浏览器窗体获得焦点则停止标题闪烁通知,失去焦点则开启标题闪烁通知功能描述窗体失焦的时候,标题就会闪补充说明:浏览器窗体获得焦点和失去焦点,Chrome和FireFox浏览器是window的onfocus,onblur方法;而IE浏览器则是document的onfocusin,onfocusout方法标签页标题闪烁浏览器窗体标题闪烁通知vartitleInit=document.title,isSh
- VirtualBox网络配置深度解析:端口冲突与NAT地址分配机制
一、端口转发冲突的本质当两个虚拟机使用相同的端口转发规则(如主机端口2222映射到虚拟机22端口)时:抢占机制:第一个启动的虚拟机成功绑定主机端口后续虚拟机启动时将触发端口冲突错误VBoxManagestartvm"VM2"#报错:Port2222isalreadyinuse连接行为分析:运行状态SSH连接结果技术原理双机同时运行仅连接至先启动的虚拟机端口被首个虚拟机进程独占仅VM1运行成功连接V
- mac使用ssh密钥连接云服务器
大象也会跳舞
服务器sshmacos
一、cd到.ssh文件夹cd.ssh二、生成密钥一直回车ssh-keygen-trsa三、连接服务器ssh-copy-idroot@ip这个时候就可以了,但是每次登录都需要输入ip,比较麻烦。可以配置一个别名四、cd到这个文件夹cd.ssh五、如果有config就生省略这一步touchconfig六、编辑config文件vimconfig七、再config中输入,如下命令:Host别名HostNa
- Git - 配置并使用多个SSH KEY(2)
4.http协议http/s协议:超文本传输协议优点:简便缺点:效率更低$gitclonehttps://gitlab.com/xxxxxxxx/text.git从上面的对比结果来看,用ssh协议确实更有优势。当然,这并不是本文想要重点阐述的问题。我们在使用ssh协议的时候,需要生成sshkey,如果多个平台(例如同时使用GitHub和Gitlab)都要使用ssh,那么就要生成多组sshkey并进
- rust实现的快捷补全到剪贴板的实用工具
余很多之很多
yu的工具rust开发语言后端
最近在兼职项目中老是遇到这样的场景:在云服务器之间通过scp命令传输文件,密码太长记不住(客户服务器不方便ssh-copy-id)在服务器上使用mysql命令登录修改数据,数据库密码太长记不住(客户设置的密码,直接改掉哈?)自己电脑使用geminicli需要代理,代理命令太长记不住(简单的放入脚本中不能生效)之前的做法都是记录到本地记事本,然后打开记事本找到对应的密码再复制到剪贴板,但是这样太麻烦
- 微信小程序 wx.request() 的封装
xkxnq
微信小程序微信小程序
基于微信小程序的wx.request()方法封装下面是一个封装方案,满足您提出的所有要求:classHttpService{constructor(){this.baseUrl='';//基础URLthis.pendingRequests=newMap();//请求缓存池this.interceptors={request:[],response:[]};}//设置基础URLsetBaseUrl(
- Ubuntu 安装 Gitlab
Kesling
服务部署ubuntugitlablinux
Ubuntu安装Gitlab安装依赖打开终端,运行如下命令:sudoaptupdatesudoaptupgradesudoaptinstallcurlopenssh-serverca-certificatespostfix安装GitLab前往GitLab官网,需要根据服务器系统,搜索需要安装的版本号。根据官网提示下载源文件,执行如命令curl-shttps://packages.gitlab.co
- Centos7下搭建Gitlab服务器
行远大于想
工具篇gitlabcentos阿里云
Centos7下搭建Gitlab服务器1简介2安装配置依赖2.1安装启动ssh服务2.2配置防火墙2.3安装邮件服务3安装配置gitlab3.1配置yum源3.2yum安装3.3配置访问地址3.4重新配置应用3.5启动gitlab3.6防火墙开放端口4登录gitlab4.1阿里云配置安全规则4.2修改密码5卸载Gitlab6Gitlab忘记root密码7Gitlab汉化8参考文献1简介gitlab
- 虚拟机Ubuntu搭建gitlab服务器,ssh连接
yizhiyu_hh
服务器ubuntugitlab
任务:在一台新的计算机上搭建gitlab环境,用于版本管理并使用ssh连接要求:1、要在Windows系统下运行2、gitlab可以在局域网内被任何pc访问3、搭建完后,使用ssh工具管理4、工具要免费SP1:下载安装虚拟机和ubuntu系统虚拟机选择virtualbox,链接https://www.virtualbox.org/wiki/Downloads现在的virtualbox版本都比较高,
- 自己开发QEMU硬件模拟器 - versatilepb开发板
EE工程师
硬件仿真模拟arm开发c语言开源软件
Versatilepb开发板 网上的小伙伴们说Versatilepb是目前QEMU官方组织模拟的最完善的一款开发板,作者无从可查,不过经过作者实际验证有一点可以确定就是在添加网络设备这一块,Versatilepb是没问题的。原本作者想在raspi2b上做有关Linux的开发实验,但当作者在配置SSH服务时,却总是有问题,查了相关资料得知QEMU模拟的raspi2b不支持nic,只支持usb-ne
- SSH 密钥
Honeysea_70
基础知识ssh运维
什么是SSH密钥SSH密钥就像是你电脑的“身份证”和“钥匙”,用来安全登录另一台电脑(服务器),而不需要每次输入密码。SSH密钥是一种安全登录远程服务器的方式,由一对加密的“钥匙”组成:一个公钥+一个私钥。公钥(可以公开)私钥(必须保密,只保存在你电脑上)原理想象你是远程服务器门口的保安你说:“我每天都要进这栋楼(服务器),但我不想每次都输密码。”于是你用了SSH密钥登录:你把公钥(门锁)装在服务
- 基于pve的飞牛os扩展硬盘实现
余很多之很多
soft服务器运维飞牛
基于pve的飞牛os扩展硬盘实现目的一开始只给飞牛os分配了300g硬盘,后来越用越多,导致300g硬盘不够了,但是又只想直接扩容当前飞牛的硬盘,而不是第二块硬盘的方案,就有了这篇文章的记录。实现1.pve扩容给飞牛os硬盘ssh登录pvelvextend-L500G/dev/mapper/pve-vm--101--disk--0给飞牛对应的lv增加到了500G2.统一显示调整后的容量大小会遇到p
- 博客摘录「 华为云平台-FusionSphere OpenStack 8.2.1 系统加固」2025年7月15日
编号加固项"风险等级"加固原理/Rationale审计方法/Audit期望结果/ExpectResults加固方法/Remediation1OpenSSH加固配置1.1OpenSSH加固配置1.1.1SSH使用的版本H"OpenSSHV2版本在安全性能、方便性上有所提高,默认使用V2版本。如果用户根据实际需要采用V1版本,可登录主机将数值修改为“1”。"查看/etc/ssh/sshd_config
- git常用命令行和注意事项
捂耳听雨
第一部分:免密码推送1,命令配置gitconfig--globaluser.name"这里换上你的用户名"gitconfig--globaluser.email"这里换上你的邮箱"2.生成秘钥ssh-keygen-trsa-C"这里换上你的邮箱",需要确认四次3.在系统用户目录下生成两个文件,分别是id_rsa(私钥)和id_rsa.pub(公钥)4.进入github的设置页面,点击SSHandG
- 海量文件快速复制(断点续传+验证+快速)
古承风
运维linux
#本地rsync-az--partial--append-verify--info=progress2--exclude="*.ext"/源目录//目标目录/#跨机器rsync-az-e"
[email protected]"--info=progress2--exclude="*.ext"user@remote:/源目录//本地目录/
- git常用操作及git submodule子模块操作和简单讲解,git源码包下载镜像网站推荐,编译安装git,配置git局域网ssh服务端免密操作
项目多人协作开发一般都要用到版本管理工具并配置代码仓库服务器,这里根据网上资料汇总并实操修改整理出了源码包编译安装git,ssh涉服务端操作免密以及盘点一些git常用操作一:源码包安装git从官网或者镜像网站下到源码包,这里给一个镜像网站,里边找到想要的git-版本号.tar.gzhttps://mirrors.edge.kernel.org/pub/software/scm/git/先校准系统时
- How to SSH into your Ubuntu machine from macOS as superuser
captainOO7
Networkingsshubuntumacos
ToSSHintoyourUbuntumachinefrommacOSassuperuser,you’llfirstconnectasaregularuser,thenelevateprivilegesonceloggedin.Here'showtodoitstepbystep:Step1:EnableSSHonUbuntuMakesuretheSSHserverisinstalledandrun
- 如何用css画三角形&太极
阿小经
一、如何用css画一个三角形搜索学习资源:Google>>csstricksshape>>画一个如下图这样的三角形三角形htmltrianglecss1.先设置div元素,为它上下边界设置不同颜色,方便改动2.使其高度、宽度为03.使其上边界值为0(蓝色部分)4.使绿色和红色区域变成透明色就可以得到我们要的三角形了。5.简化代码二、如何用css画一个太极(带animation动效)静态效果图用到伪
- Java基础入门(传智)暑期预习笔记(一)7.18
wssgakki
Javajava
Java的基本语法【修饰符】class类名{程序代码}publicclassHelloword{publicstaticvoidmain(String[]args){System.out.printIn(”你好呀");}注意大小写、排版问题{左大括号里面的第一行代码要有缩进ctrl+shift+F键快速格式化代码一个连续的字符串不能分开在两行中书写即同一个双引号里面的内容不能分两行写。Java中的
- Java基础一键通
冠位巴萨辛山の翁
java开发语言学习
以下代码均使用IntelliJIDEA2024.1下运行,代码来源为学习java过程中所写代码。交流学习使用。1-Java入门1.1HellopublicclassHello{/***主函数执行程序的入口点*此函数没有接收任何参数,也没有返回值*它首先打印多次"Hello",然后调用getCode()方法并打印其返回值*@paramargs命令行参数,本程序中未使用*/publicstaticvo
- SCP命令传输文件
惟余惟余
运维
SCP进行文件传输一、基本语法:二、具体用法1.从本地将文件传输到服务器2.从本地将文件夹传输到服务器3.将服务器上的文件传输到本地4.将服务器上的文件夹传输到本地一、基本语法:Linuxscp命令用于Linux之间复制文件和目录。scp概述:scp是securecopy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp与rcp的区别:scp是加密的,rcp是不加密的
- 【Git】2.第一次推送代码到gitLab
记录测试点滴
gitpycharmide
前言:pycharm想要推送代码到git/拉取git代码1.创建git项目登录gitLab去创建项目,注意:ProjectConfiguration不要选择InitializerepositorywithaREADME进入git项目会提示想要使用SSHpull或者push需要配置SSHKey去免密登录2.设置全局用户名和邮箱gitconfig--globaluser.name"登录gitlab的用
- 如何通过linux黑窗口实现对远程服务器的操作
①选择合适的云平台进行设备的租用并复制好远程设备的IP地址②使用管理员权限打开黑窗口③输入命令连接远程的设备:ssh用户名@服务器IP地址,此时得到的是一个什么都没有的设备④由于该设备什么都没有,故先:sudoaptupdate,然后安装gcc编译器:sudoaptinstallbulid-essential,再然后安装python:sudoaptinstallpython-3.8,再然后安装mi
- 04、抽象类与接口
想带你从多云到转晴
java开发语言
内容多,第二次复习时写的一、抽象类1、本质:当一个类不能描述一个具体对象时我们把它叫做抽象类2、与普通类的区别:它跟普通类一样可以定义成员方法和变量,但是不能实例化,它可以和普通类一样实现多态、向上转型、动态绑定以及拥有构造方法等等(它的主要作用就是用来继承的)这里举个实现的例子:publicabstractclassShape1{publicabstractvoiddraw();}publicc
- 04、抽象类与接口
内容多,第二次复习时写的一、抽象类1、本质:当一个类不能描述一个具体对象时我们把它叫做抽象类2、与普通类的区别:它跟普通类一样可以定义成员方法和变量,但是不能实例化,它可以和普通类一样实现多态、向上转型、动态绑定以及拥有构造方法等等(它的主要作用就是用来继承的)这里举个实现的例子:publicabstractclassShape1{publicabstractvoiddraw();}publicc
- vscode 一直连不上远程,网络是通的,ssh 也能直接登录远程
心如止水-WTF
vscode网络ssh
vscode一直连不上远程,网络是通的,ssh也能直接登录远程,但vscode死活连不上解决办法:取消勾选remote.SSH.useExecServer打开VSCode设置(Ctrl+,→搜索useExecServer)取消对应的勾选即可
- PAM配置文件解析,配置文件优先级
Yana.com
PAM服务器网络数据库
/etc/pam.d/目录配置文件1.核心配置文件(1)system-auth作用:系统默认认证策略,被其他服务(如login、sshd)通过include引用。典型内容:authrequiredpam_env.soauthsufficientpam_unix.sotry_first_passaccountrequiredpam_unix.sopasswordrequiredpam_unix.so
- 初识Linux--常用命令
为什么学习命令Linux刚面世是并没有图形界面,所有操作都靠命令完成,如磁盘操作、文件存取、目录操作、进程管理、文件权限等工作中,大量的服务器维护工作都是在远端通过SSH客户端来完成的,并未使用图形界面,所有的维护工作都需要通过命令来完成。Linux用户和用户组管理Linux用户分为以下几种root用户:也称超级用户,UID为0,权限最高。系统用户:也称虚拟用户、伪用户、假用户,是系统自身拥有的用
- sshpass原理详解及自动化运维实践
什么是SSHpass?SSHpass是一个用于非交互式SSH密码验证的工具,它能够通过命令行直接提供SSH密码,从而绕过交互式密码输入提示。这在自动化脚本和批处理操作中尤为有用。工作原理SSHpass的工作原理可以概括为以下几个关键点:密码传递机制:SSHpass通过命令行参数、环境变量或文件等方式接收密码伪终端模拟:它模拟一个伪终端(pseudo-terminal)来与SSH客户端交互自动响应:
- 矩阵求逆(JAVA)初等行变换
qiuwanchi
矩阵求逆(JAVA)
package gaodai.matrix;
import gaodai.determinant.DeterminantCalculation;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 矩阵求逆(初等行变换)
* @author 邱万迟
*
- JDK timer
antlove
javajdkschedulecodetimer
1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod
- JVM调优总结 -Xms -Xmx -Xmn -Xss
coder_xpf
jvm应用服务器
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx
- JDBC连接数据库
Array_06
jdbc
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
//完
- Unsupported major.minor version 51.0(jdk版本错误)
oloz
java
java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType)
at org.apache.catalina.loader.WebappClassL
- 用多个线程处理1个List集合
362217990
多线程threadlist集合
昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public c
- JSP简单访问数据库
香水浓
sqlmysqljsp
学习使用javaBean,代码很烂,仅为留个脚印
public class DBHelper {
private String driverName;
private String url;
private String user;
private String password;
private Connection connection;
privat
- Flex4中使用组件添加柱状图、饼状图等图表
AdyZhang
Flex
1.添加一个最简单的柱状图
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<?xml version=
"1.0"&n
- Android 5.0 - ProgressBar 进度条无法展示到按钮的前面
aijuans
android
在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下:
[html]
view plain
copy
<RelativeLa
- 查询汇总的sql
baalwolf
sql
select list.listname, list.createtime,listcount from dream_list as list , (select listid,count(listid) as listcount from dream_list_user group by listid order by count(
- Linux du命令和df命令区别
BigBird2012
linux
1,两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
- AngularJS中的$apply,用还是不用?
bijian1013
JavaScriptAngularJS$apply
在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。
但是首先,让我们把$apply转换成一种简化的形式。
scope.$apply就像一个懒惰的工人。它需要按照命
- [Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化
bit1129
zookeeper
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
&
- 【Java命令一】jmap
bit1129
Java命令
jmap命令的用法:
[hadoop@hadoop sbin]$ jmap
Usage:
jmap [option] <pid>
(to connect to running process)
jmap [option] <executable <core>
(to connect to a
- Apache 服务器安全防护及实战
ronin47
此文转自IBM.
Apache 服务简介
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到
- unity 3d实例化位置出现布置?
brotherlamp
unity教程unityunity资料unity视频unity自学
问:unity 3d实例化位置出现布置?
答:实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(
- 《重构,改善现有代码的设计》第八章 Duplicate Observed Data
bylijinnan
java重构
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE
- struts2更改struts.xml配置目录
chiangfai
struts.xml
struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml)
web.xml文件修改如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class&g
- redis做缓存时的一点优化
chenchao051
redishadooppipeline
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi
- mysql导出数据不输出标题行
daizj
mysql数据导出去掉第一行去掉标题
当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数
如通过下面命令导出数据:
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName" > exportResult.txt
结果为:
studentid
- phpexcel导出excel表简单入门示例
dcj3sjt126com
PHPExcelphpexcel
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('
- 爱情格言
dcj3sjt126com
格言
1) I love you not because of who you are, but because of who I am when I am with you. 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 2) No man or woman is worth your tears, and the one who is, won‘t
- 转 Activity 详解——Activity文档翻译
e200702084
androidUIsqlite配置管理网络应用
activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro
- win7安装MongoDB服务
geeksun
mongodb
1. 下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads
2. 解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d
- Javascript魔法方法:__defineGetter__,__defineSetter__
hongtoushizi
js
转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function Book(name){
- 错误的日期格式可能导致走nginx proxy cache时不能进行304响应
jinnianshilongnian
cache
昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头: Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expires:Mon , 05 Jan 15 02:03:00 GMT Last-Modified:Mon, 05
- 数据源架构模式之行数据入口
home198979
PHP架构行数据入口
注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。
一、概念
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。
二、简单实现行数据入口
为了方便理解,还是先简单实现:
<?php
/**
* 行数据入口类
*/
class OrderGateway {
/*定义元数
- Linux各个目录的作用及内容
pda158
linux脚本
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于
Windows
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d
- ubuntu12.04上编译openjdk7
ol_beta
HotSpotjvmjdkOpenJDK
获取源码
从openjdk代码仓库获取(比较慢)
安装mercurial Mercurial是一个版本管理工具。 sudo apt-get install mercurial
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe
- 将数据库字段转换成设计文档所需的字段
vipbooks
设计模式工作正则表达式
哈哈,出差这么久终于回来了,回家的感觉真好!
PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。