- 2021-07-07
潇洒二爷
一辆特斯拉“花格子S型”小车,突然起火,电子技术的车门也失灵TeslaModelSPlaidbrokeintofirewithfailureofelctronicdoors一辆“花格子牌”(ModelSPlaid)特斯拉轿车,在6月29日这天,车主正在路上行驶,突然烈焰腾飞,他的代理律师说,他被短时间困在车内,因为几个电动门都打不开。事情在几天前发生于费城外,这名男子拿到这款特斯拉之后,号称是世界
- 如何解决Docker启动时报Status: unknown flag: --graph问题
满天点点星辰
随手杂记docker容器
最近在进行Docker环境迁移时,用二制对Docker进行了重新安装,一切配置好之后,启动Docker时,服务启动不起来,使用journalctl-xe命令查看,报出以下错误:[root@appdocker]#journalctl-xe8月2514:25:46appdockerd[3269]:Status:unknownflag:--graph8月2514:25:46appdockerd[3269
- linux 查看文本或者日志的命令
XMYX-0
Centos命令使用linux服务器
文章目录linux查看文本或者日志的命令`cat`命令示例:`tac`命令示例:`less`命令示例:`more`命令示例:`head`命令示例:`tail`命令示例:`grep`命令示例:`awk`和`sed`示例:使用`awk`提取日志中的时间和错误信息示例:使用`sed`查找并替换日志中的特定字符串`watch`命令示例:`dmesg`命令示例:`journalctl`命令示例:查看系统启动
- Golang之Context
8023之永恒
Golanggolang后端
目录1、Context接口:1.1、四个方法:1.1.1、Deadline方法:1.1.2、Done方法:1.1.3、Err方法:1.1.4、Value方法:2、Context接口实现:2.1、Background方法:2.2、TODO方法:3、context类型:3.1、valueCtx:3.1.1、3.1.2、3.1.3、3.2、cancelCtx:3.2.1、3.2.2、3.3、timerC
- 如何在 Linux 系统中查看系统日志
Stestack
linux服务器运维
Linux系统提供了强大的日志功能,可以记录系统和应用程序的各种事件和错误信息。系统日志对于故障排除和性能监控非常重要。图片一、使用命令行工具查看系统日志使用journalctl命令查看系统日志:journalctl命令是systemd日志管理器的客户端工具,它可以查看systemd生成的日志。通过以下命令可以查看所有日志信息:journalctl这会列出所有日志条目,从最新的开始。你可以使用Pa
- 如何在 Linux 系统中查看系统日志
Stestack
linux服务器运维
Linux系统提供了强大的日志功能,可以记录系统和应用程序的各种事件和错误信息。系统日志对于故障排除和性能监控非常重要。图片一、使用命令行工具查看系统日志使用journalctl命令查看系统日志:journalctl命令是systemd日志管理器的客户端工具,它可以查看systemd生成的日志。通过以下命令可以查看所有日志信息:journalctl这会列出所有日志条目,从最新的开始。你可以使用Pa
- Jenkins打包springboot项目到k8s
道法自然 实事求是
Kubernetesjenkinsspringbootkubernetes
目录一、Jenkins配置1.1、pipeline插件安装二、拉取git代码三、Maven打包spring项目三、docker构建镜像四、docker推送镜像五、kubelctl执行参考资料一、Jenkins配置1.1、pipeline插件安装二、拉取git代码pipeline{agentanystages{stage('Checkout'){steps{echo"1.克隆git仓库代码"gitb
- 【Docker】docker安装
蒋灵瑜
Dockerdockerspringcloud微服务
需要云服务器等云产品来学习Linux可以移步/-->腾讯云/dev/null4、安装dockersudoapt-getupdatesudoapt-getinstalldocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin-y5、解决报错#journalctl是操作系统日志查看命令#-e表示从末尾看#-
- go-zero读取mysql部分字段
一见
go-zerogogo-zero
读取部分字段,使用函数QueryRowPartialCtx。假设有如下一张表:CREATETABLEtest(idINTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,ctimeDATETIME);要读取字段ctime值。定义一结构体:typeXstruct{stateint`db:"-"`Ctimetime.Time`db:"ctime"`}查询语句:varxXq
- ubuntu-12.04.2-desktop-amd64 安装整合 nginx + php + mysql + phpmyadmin + tomcat
Tiger_1998
运维phpjava
最近需要做jsp项目,部署在ubuntu下,周末抽时间配置了nginx+php+mysql+phpmyadmin+tomcat环境,从windows的C#转过来,多少有些不适应,估计要走全栈的方向了.顺便整理了一下入门的配置方法,完全在控制台下完成.1.1CommonStartTerminalCtrl+Alt+T使用root用户sudo–sH查看进程linux命令psaux|grepxxx软连接l
- 黄金交易策略(Nerve Nnife.mql4):三档移动止盈机制设计
郭泽斌之心
量化交易EA金融c++
和中国电费一样,一档档的上。完整EA:NerveKnife.ex4黄金交易策略_黄金趋势ea-CSDN博客mql4代码节选如下://第一张单上涨2500,开始SL跟踪300点if(count==1&&!follow_p_3){doublectp=calcTotalProfit(0,"buy",888);if(!follow_p_1&&ctp/Point>order1_profit_point_tr
- 【openbmc1】rsyslog,logrotate,post_code,journalctl,log
码农编程录
openbmclinux
文章目录1.rsyslog:rsyslogd是一个进程,syslog函数将log写给rsyslogd进程,rsyslogd-v1.1本地:如下rsyslog.conf中log_rotation变量在local1这行定义1.2远程:如下两个星号中间是点号2.logrotate:logrotate/etc/logrotate.rsyslog(bb中重命名)3.post_code:ipmid.c(ipm
- [解决sklearn的KMeans运行报错]AttributeError: ‘NoneType‘ object has no attribute ‘split‘
哈仔康康
kmeans算法机器学习
将threadpoolctl从版本2.2.0升级到版本3.1.0pipinstall--upgradethreadpoolctl==3.1.0
- vscode开发FPGA(0)--windows平台搭建
zidan1412
FPGAvscode编辑器
一、从官网下载安装VScodeDownloadVisualStudioCode-Mac,Linux,Windows二、安装配置插件1.安装Chinese(simplified)中文汉化包2.安装Verilog-HDL/systemVerilog插件(支持verilog语法)3.配置CTagsSupport插件(支持代码跳转)1)在github下载universalctags最新版本Release2
- 通过指令v-zcCalcTableHeight计算el-table的高度
xcl117
importVuefrom"vue";/***v-zcCalcTableHeight,专门用来在el-table上根据tableData的行数,动态开启纵向滚动的指令。*主要作用:*1.避免行数过多导致分页组件会浮在表格上*2.避免行数不足时,表格内有底部有冗余的空间,**注:需要组件存在calcTableHeight属性(属性名可自定义),同时在el-table表格组件添加:v-zcCalcTa
- 【错误解决】kubelet状态一直是 activing
安安csdn
云计算docker容器kubernetes
场景使用二进制的方式搭建k8s集群现象kubelet状态一直是activingkubectlgetnode也没有任何资源原因通过journalctl-xefukubelet查看kubele日志发现:failedtorunKubelet:misconfiguration:kubeletcgroupdriver:"systemd"isdifferentfromdockercgroupdriver:"c
- Golang context 万字解析实现原理
Go 的学习之路
golang服务器linux
Golang:context基于go1.21版本Context是什么Context的功能应用场景源码分析1.10Context核心结构1.1Err错误2.1emptyCtx3.1Background()和TODO()4.1.1cancelCtx4.1.2Deadline方法4.1.2Done方法4.1.2Err方法4.1.2Value方法4.2WithCancel()和WithCancelCaus
- k8s报错记录(持续更新中....)
运维那些事儿
kuberneteskubernetes容器云原生
k8s报错记录(持续更新中…)1.部署k8s遇到kube-flannel已经构建,但是coredns一直处于ContainerCreating和pending状态解决问题:通过kubectldescribepod-nkube-systemcoredns-7ff77c879f-9ls2b查看pod的详细信息,报错说是cni配置没有初始化,很是莫名其妙journalctl-fukubelet然后尝试将
- Intellij Idea的数据库工具 DataGrip
乐之者v
intellijideaintellij-idea
DataGripDataGrip:IDEA自带,非常好用。智能提示很强大,快捷键跟IDEA自身一致。如果下载不了DataGrip,也可以直接用IDEA自带的。常用的快捷键alt+8:打开数据库Servicectrl+shift+F10:打开常用的数据库sqlctrl+Enter:快速执行sql。ctrl+F12:快速跳转到对应列。ctrl+alt+E:查询的sql历史记录ctrl+shifit+U
- mysql数据迁移不生效_mysql 数据库位置迁移踩坑笔记
温斯顿1984
mysql数据迁移不生效
花费不少力气,把mysql运行的坑全踩完了。踩坑过程中,最大的难题是mysql报错信息不可信。本身是innoDB缺文件的问题,在journalctl-xe日志里会被记录成apparmor的问题。下面是趟完搞定的步骤1.关闭apparmor,有一个命令Start:sudo/etc/init.d/apparmorstartStop:sudo/etc/init.d/apparmorstopreload:
- Linux系统下使用systemctl启动服务失败
cuijiecheng2018
linuxlinux运维服务器
Linux下使用systemctlstart/restart命令启动服务,结果失败这个时候可以通过journalctl工具来查看systemd服务的日志:journalctl-u服务名通过该日志即可显示失败的原因参考:《如何查看systemctl启动服务的日志》《深入了解journalctl-u》
- 代码对齐自动缩进排版代码格式化美化代码快捷键ShortcutKeyHotKey
kfepiza
开发语言编辑器ideavisualstudiocodeeclipsevscode
代码对齐自动缩进排版代码格式化美化代码默认快捷键Eclipse:Ctrl+Shift+FCtrl+Shift+FCtrl+Shift+FVsCode:Shift+Alt+FShift+Alt+FShift+Alt+FIdea:Ctrl+Alt+LCtrl+Alt+LCtrl+Alt+LVisualStudio:Ctrl+K+FCtrl+K+FCtrl+K+F
- Linux下 tar 命令详解
夜光小兔纸
Linux运维linux运维
一、tar命令概述Tar(TapeARchive,磁带归档的缩写,LCTT译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)。tar是类Unix系统中广泛使用的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用gzip或者bzip2等技术进行压缩。换言之,tar命令也可以用于备份:先是归档多个文件和目录到一个单独的tar文件或归档文
- 鹿小早话题:不论BTC向上走还是向下走都是好事?
区块链中的鹿小
鹿小早话题:今天是鹿小早话题第17天昨天第一个话题:鹿小发现大部分人对Coinbase上市新闻认为是真的,鹿小在没见到官方消息之前是呵呵.第二个话题:普遍认为年底应该会有小牛到来。中本聪伟大之处解决双花问题全球数字货币市值2173.62亿美金交易量86.15亿美金以太坊钱包支持TRX存储徳央行证劵交易完成区块链证券结算系统测试大额流入交易所币种:BCHDASHETHHAVHLCTENGTOTRXB
- 题目:有1,2,3,4共四个数字,能组成多少个不相同而且无重复数字的三位数有多少个,都是多少?lua
星空露珠
笔记lua数据结构前端
这是作者的思路,创建三个表,第一个数是从四个数遍历,第二个是数剔除第一个数进行遍历第三个是剔除第一第二个数遍历脚本如下locala={1,2,3,4}localb={}localc={}locald={}localfunctioncopy(tbl)localctbl={}fork,vinpairs(tbl)doctbl[k]=vendreturnctblendlocalstr={}fork1,v1
- 常用六大算法
wahkim
计算机基础排序算法ios
六大算法一、冒泡排序(BubbleSort)基本思想过程平均时间复杂度C代码实现优化二、二分查找(BinarySearch)算法要求时间复杂度查找过程C代码示例三、快速排序(Quicksort)基本思想示例平均时间复杂度C代码实现四、希尔排序(ShellSort)基本思想过程平均时间复杂度C代码实现五、选择排序(SelctionSort)基本思想过程平均时间复杂度C代码实现六、插入排序(Inser
- matlab调整坐标轴位置和刻度方向
胜负55开
需求:matlab默认的横、纵轴分别在bottom和left。现在我想让横坐标在最上面,并且相对应的原点在"左上角",即纵轴的0点应该在最上面(与原始方向相反)。调轴位置命令:set(gca,'xaxislocation','top');调换轴刻度方向命令:set(gca,'ydir','reverse');实现如下:clear;clct=1:0.1:10;x=t.^2;figure(1);sub
- Python+Selenium+Unittest 之selenium14--WebDriver操作方法4-键盘操作
刘阿童木
pythonselenium
在自动化中除了能模拟鼠标的操作外,也需要模拟键盘的操作,比如复制、粘贴、删除等等,这时候就可以用selenium的Keys库,可以看到截图中里的都是Keys的方法,下面说下常用的几个操作方法。常用的键盘操作方法键盘方法对应的键盘上的按键Keys.ENTER回车键Keys.TABTab键Keys.SHIFTShift键Keys.CONTROLCtrl键Keys.ALTAlt键Keys.SPACE空格
- 微分方程应用(MATLAB)
学习不止,掉发不停
数学建模matlab数学建模
【例题1】matlab求解微分方程的解析解closeallclearclct_final=100;x0=[0;0;1e-10];f=@(t,x)[-8/3*x(1)+x(2)*x(3);-10*x(2)+10*x(3);-x(1)*x(2)+28*x(2)-x(3)];[t,x]=ode45(f,[0,t_final],x0);plot(t,x),figure;plot3(x(:,1),x(:,2
- systemd:service与target使用及相关命令
hello_ludy
#linux操作系统systemdtargetjournalctlsystemctlservice
文章目录一、unit1.1unit常用命令二、service系统服务2.1unitservice配置文件2.1.1[Unit]区块2.1.2[Service]区块2.1.3[Install]区块2.1.4示例介绍2.2service常用命令三、target3.1tartget有关命令四、其他系统命令4.1systemctl相关系统管理命令4.2journalctl相关命令4.3systemd-an
- 矩阵求逆(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到设计文档中,那将会是一件非常痛苦的事情。