分享
是一种美德

林清玄:常想一二,不思八九

mrnaas阅读(421)

1

  朋友买来纸笔砚台,请我题几个字让他挂在新居的客厅补壁。这使我感到有些为难,因为我自知字写得不好看,何况已经有很多年没有写书法了。

  朋友说:“怕什么?挂你的字我感到很光荣,我都不怕了,你怕什么?”

  我便在朋友面前,展纸、磨墨,写了四个字“常想一二”。

  朋友说:“这是什么意思?”

  我说:“意思是说我的字写得不好,你看到这幅字,请多多包涵,多想一二件我的好处,就原谅我了。”

  看到我玩笑的态度,朋友说:“讲正经的,到底是什么意思?”

  “俗话说‘人生不如意事十之八九’,我们生命里不如意的事情占了绝大部分,因此,活着的本身就是痛苦的。但是扣除了八九成的不如意,至少还有一二成如意的、快乐的、欣慰的事情。我们如果要过快乐人生,就要常常想那一二成好事,这样就会感到庆幸、懂得珍惜,不致被八九的不如意所打倒了。”

  朋友听了,非常欢喜,抱着“常想一二”回家了。

  2

  几个月后,他来探视我,又来向我求字,说是:“每天在办公室劳累受气,一回到家看见那幅‘常想一二’就很开心。但是墙壁太大,字显得太小,你再写几个字吧!”

  对于好朋友,我一向都是有求必应的,于是为“常想一二”写了下联“不思八九”,上面又写了“如意”的横批,中间顺手画一幅写意的瓶花。

  没想到又过了几个月,我被许多离奇的传说与流言困扰。朋友有一天打电话来,说他正坐在客厅里我写的字前面,他说:“想不出什么话来安慰你,念你自己写的字给你听:常想一二,不思八九,事事如意!”

  接到朋友的电话,我很感动。我常觉得在别人的喜庆里锦上添花是容易的,在别人的苦难里雪中送炭却很困难,那种比例,大约也是“八九”与“一二”之比。不能雪中送炭的不是真朋友,当然更甭说那些落井下石的人了。

  3

  不过,一个人到了四十岁以后,在生活里大概都锻炼出了“宠辱不惊”的本事,也不会在乎锦上添花、雪中送炭或落井下石了。那是由于我们早已经历过生命的痛苦和挫折,也经验过许多情感的相逢与离散,慢慢地寻索出生命中积极的、快乐的、正向的观想。这种观想,正是“常想一二”的观想。

  “常想一二”的观想,乃是在重重的乌云中寻觅一丝黎明的曙光;乃是在滚滚红尘里开启一些宁静的消息;乃是在濒临窒息时浮出水面,有一次深长的呼吸。

  生命已经够苦了,如果我们把五十年的不如意事总和起来,一定会使我们举步维艰。生活与感情陷入苦境,有时是无可奈何的,但如果连思想和心情都陷入苦境,那就是自讨苦吃、苦上加苦了。

  4

  我从小喜欢阅读大人物的传记和回忆录,慢慢归纳出一个公式:凡是大人物都是受苦受难的,他们的生命几乎就是“人生不如意事十之八九”的真实证言,但他们在面对苦难时也都能保持正向的思考,能“常想一二”,最后,他们超越苦难,苦难便化成为生命最肥沃的养料。

  使我深受感动的不是他们的苦难,因为苦难到处都有;使我感动的是,他们面对苦难时的坚持、乐观与勇气。

  原来,“如意”或“不如意”,并不是决定于人生的际遇,而是取决于思想的瞬间。

  原来,决定生命品质的不是“八九”,而是“一二”。

  原来,苦难对陷入其中的人是以数量计算,对超越的人却变成质量。数量会累积,质量会活化。

  既然生命的苦乐都只是过程,我们何必放弃自我的思想去迎合每一个过程呢?

  就快乐地活在当下吧,让每一个当下有情有义、发光发热、如诗如歌!

  来源:散文集《常想一二,不思八九》

关于每次打开smartgit时一直弹出“非盈利….”框解决办法

mrnaas阅读(468)

使用smartgit时,由于是出于个人使用非盈利目的,因此每次打开时都有一个确认框,必须等待二十多秒才能关闭,不胜其烦,因此寻找破解方法,如下:
 

点击如下链接,跳转到注册页面,选择“在家”,完成注册信息,注意邮箱必须是个人使用的,例如163邮箱、学校邮箱等等。
      https://www.syntevo.com/cn/smartgit/register-non-commercial/
登录注册使用的邮箱,会收到smartgit发送的邮件,里面有一个附件,smartgit.lic,下载之后打开smartgit,工具栏选择“帮助”->“注册产品”,选择smartgit.lic的下载路径,点击完成即可。重启smartgit之后就没有弹出框了。
如果重启时提示不匹配问题,可能是由于刚才注册使用的邮箱与你之前登录smartgit使用的邮箱不一致,点击左上角工具栏“仓库”->“编辑git配置文件”->“用户”,更新邮箱地址为上面注册使用的邮箱。

————————————————
版权声明:本文为CSDN博主「scut_lrr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42448226/java/article/details/104790425

deepin 微信多开教程

mrnaas阅读(11984)

windows 可以通过批处理来实现微信多开,那么deepin应该也可以,接下来分享一下通过以下方法,可实现在深度Deepin 15.11操作系统下微信双开的效果。不过也可以采用更为快捷的方法:把图标放到桌面上,然后快速双击。在深度系统下实现微信双开的方法1、先在系统下单开微信需要登录一个微信,然后成功后退出。2、编辑文件然后进入/home/自己用户名/.deepinwine目录,复制Deepin-WeChat文件夹到Deepin-WeChat2。然后编辑/opt/deepinwine/apps/Deepin-WeChat/run.sh:(15.11)/opt/apps/com.qq.weixin.deepin/files/run.sh:(我的是 v20 是这个路径)把里边的内容复制多份  我目前是尝试三开  成功

把里面的内容重复复制一份,就是BOTTLENAME(15.11)改了下:

BOTTLENAME="Deepin-WeChat"

APPVER="2.6.8.65deepin0"

EXEC_PATH="c:/Program Files/Tencent/WeChat/WeChat.exe"

if [ -n "$EXEC_PATH" ];then

 /opt/deepinwine/tools/run_v2.sh $BOTTLENAME $APPVER "$EXEC_PATH" "$@"

else

 /opt/deepinwine/tools/run_v2.sh $BOTTLENAME $APPVER "uninstaller.exe" "$@"

fi
(v20的内容)
BOTTLENAME="Deepin-WeChat2"

APPVER="2.6.8.65deepin0"

EXEC_PATH="c:/Program Files/Tencent/WeChat/WeChat.exe"

if [ -n "$EXEC_PATH" ];then

 /opt/deepinwine/tools/run_v2.sh $BOTTLENAME $APPVER "$EXEC_PATH" "$@"

else

 /opt/deepinwine/tools/run_v2.sh $BOTTLENAME $APPVER "uninstaller.exe" "$@"

fi
3、找到run_v2.sh(15.11只有这个)或者run_v3.sh(v20是这个)我顺便也把v2的也改了,文件删除相关的行再找到/opt/deepinwine/tools/run_v2.sh文件并且打开它,删除/opt/deepinwine/tools/kill.sh “$name” block这一行即可。再找到/opt/deepinwine/tools/run_v3.sh文件并且打开它,删除/opt/deepinwine/tools/kill.sh “$name” block这一行即可。
如果你之前运行过微信了那就需要在/home/cnguge/.deepinwine  路径复制Deepin-WeChat   名字和你run.sh的名字对应
截图录屏_选择区域_20200426180950.png

v20 工作环境搞定

mrnaas阅读(11156)

linux 菜鸟   笔记本配置偏低  使用win10卡到爆 ,所以试试deepin,最开始用的机15.11,结果由于手欠把系统搞崩溃了,索性直接换v20了,历时一天的时间将自己的工作环境弄好了,包括开发环境和各类软件以及办公聊天工具,TIM/微信/企业微信都替换成最新版本了,目前唯一不知道怎么解决的问题就是 微信截图稍微大一点的话就发不出去了,其他的都还算比较满意,支持deepin,加油!2222.png1111.png

JavaScript基础到入门练习015-JS简单数据类型and练习

wangtong阅读(527)

练习:做出一个网页警示框,弹框内容为:

古风是很多人的追求,一花一世界,一叶一追寻。一曲一场叹,一生为一人。

煮一杯酒,温热冰封的心肠,饮不尽世间聚散离合的沧桑;闭一扇窗,掩不住满目悲伤,谁还在云幕那端浅浅吟唱;剪一道光,透过天色的红妆,你是否是口是心非之前的模样。梦醒过来,寂寞就无处躲藏,你是否和我一样念念不忘?“经典美句!”

    alert('古风是很多人的追求,一花一世界,一叶一追寻。一曲一场叹,一生为一人。\n煮一杯酒,温热冰封的心肠,饮不尽世间聚散离合的沧桑;闭一扇窗,掩不住满目悲伤,谁还在云幕那端浅浅吟唱;剪一道光,透过天色的红妆,你是否是口是心非之前的模样。梦醒过来,寂寞就无处躲藏,你是否和我一样念念不忘?"“经典美句!”"');
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script>
    alert('古风是很多人的追求,一花一世界,一叶一追寻。一曲一场叹,一生为一人。\n煮一杯酒,温热冰封的心肠,饮不尽世间聚散离合的沧桑;闭一扇窗,掩不住满目悲伤,谁还在云幕那端浅浅吟唱;剪一道光,透过天色的红妆,你是否是口是心非之前的模样。梦醒过来,寂寞就无处躲藏,你是否和我一样念念不忘?"“经典美句!”"');
</script>
</head>
<body>
</body>
</html>

JavaScript基础到入门练习014-JS简单数据类型and字符串型

wangtong阅读(175)

JS把数据类型分为两大类:

  • 简单数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(object)

1、简单数据类型(基本数据类型)

简单数据类型说明默认值
Number数字型,包含整型值和浮点型值。如:12,1.20
String字符串类型,字符串需要带引号“”
Boolean布尔值类型,如true(等价于1)、false(等价于0)false
Undefinedvar a;表示声明的变量没有赋值。undefined
Nullvar a = null; 声明的变量赋值为nullnull

1.2 字符串型 String

1.2.1 基本语法

字符串型可以是引号中的任意文本,其语法为双引号” “和单引号’ ‘。


    var str1 = "我是一个字符串。";//使用双引号表示字符串
    var str2 = '我也是一个字符串。';//使用单引号表示字符串
    var str3 = 我不是字符串;//此时会报错,没有使用引号

因为HTML标签中的属性常常使用双引号,因此建议js中使用单引号。

1.2.2 字符串转义符

类似于HTML中的特殊字符,字符串中也有特殊字符,我们称之为转义符。

转义符都是以\为开头:

转义符解释说明
\n换行符
\\斜杠 \
\’‘ 单引号
\”” 双引号
\ttab 缩进
\b空格
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script>
    var str1 = "我是一个字符串。";//使用双引号表示字符串
    var str2 = '我也是一个字符串。';//使用单引号表示字符串
    var str3 = 我不是字符串;//此时会报错,没有使用引号
    //引号嵌套
    var str4 = '我是"一个"字符串';
    var str5 = "我是'一个'字符串";
    //转义符
    //换行 \n
    var str6 = "我是一个\n字符串";

</script>
</head>
<body>
</body>
</html>

JavaScript基础到入门练习013-JS简单数据类型and数字型

wangtong阅读(197)

JS把数据类型分为两大类:

  • 简单数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(object)

1、简单数据类型(基本数据类型)

简单数据类型说明默认值
Number数字型,包含整型值和浮点型值。如:12,1.20
String字符串类型,字符串需要带引号“”
Boolean布尔值类型,如true(等价于1)、false(等价于0)false
Undefinedvar a;表示声明的变量没有赋值。undefined
Nullvar a = null; 声明的变量赋值为nullnull

1.1 数字型 Number (可以分为整数和小数(浮点数))

var num = 10;// 整数
var Num = 1.2;// 小数

1.1.1 数字型进制(二进制、八进制、十进十六进制)

	//1、八进制数字序列范围:0~7
	var num1 = 07; //对应十进制的7
	var num2 = 019; //对应十进制的19
	var num3 = 08; //对应十进制的8
	//2、十六进制数字序列范围:0~9和A~F
	var num = 0xA;

现阶段只需要记住js中八进制0开头,十六进制0x开头。

1.1.2 数字型范围(js数值最大值和最小值)

console.log(Number.MAX_VALUE);//最大值:1.7976931348623157e+308
console.log(Number.MIN_VALUE);//最小值:5e-324

1.1.3 数字型的三个特殊值(无穷大、无穷小、非数值)

console.log(Number.MAX_VALUE*2);//无穷大:Infinity
console.log(-Number.MAX_VALUE*);//无穷小:-Infinity
console.log('age' - 100);//非数值:NaN

1.1.4 isNaN()

用来判断变量是否为非数字类型,返回true或者false

	var usrAge = 18;
	var isOk = isNaN(usrAge);
	console.log(isOk);//false ,21不是一个非数字
	var usrName = 'uname';
	console.log(isNaN(usrName));//true ,"uname"是一个非数字。

JavaScript基础到入门练习012-JS数据类型简介

wangtong阅读(164)

学习目标:

1、可以说出五种简单的数据类型

2、可以使用typeof查看变量的类型

3、可以说出1–2种转换为数据型的方法

4、可以说出1–2种转换为字符型的方法

5、知道隐式转换是什么?

~~~~~~~~~~~~~~~华丽分割线~~~~~~~~~~~~~~~~

1、数据类型简介

1.1 为什么需要数据类型

计算机中不同的数据所占的存储空间不同,为了合理的利用存储空间,所以定义了不同的数据类型。

简单来说,数据类型就是数据的类别型号。

1.2 变量的数据类型

变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定如何将代表这些值的位存储到计算机的内存当中。

js是一种弱类型或动态语言,所以不需要提前声明变量类型。

	var num = 10;// num 数字型
	var str = 'name';// str 字符串型

js在代码运行时,变量的数据类型是由js引擎根据所赋的值来判断的。

js拥有动态类型,同时也意味着相同的变量可用做不同的类型。


	var x = 10;// x 数字型
	x = 'name';// x 字符串型 

JavaScript基础到入门练习011-JS变量小结

wangtong阅读(182)

1、为什么需要变量?

因为我的一些数据需要保存,所以我们需要变量。

2、变量是什么?

变量其实就是一个容器,用来存储数据的,我们可以使用里边的数据进行处理。

3、变量的本质是什么?

变量是内存里的一块空间,用来存储数据。

4、变量怎么使用?

a、使用变量的时候一定要声明变量,然后赋值。

b、声明变量本质是去内存申请空间。

5、变量的初始化?

即声明变量并赋值。

6、变量命名规范有哪些?

命名尽量规范,见名知意,采用驼峰,区分大小写。

7、交换变量的思路?

采用中间临时变量。

JavaScript基础到入门练习010-JS变量练习

wangtong阅读(153)

交换两个变量的值,使用临时变量用来做中间存储。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>js变量练习</title>
<script>
	//1、创建一个临时变量 temp
	//2、把 a1 的值传给 temp
	//3、把 a2 的值传给 a1
	//4、把 temp 的值传给 a2
	var temp;
	var a1 = '原始a1';
	var a2 = '原始a2';
	temp = a1;
	a1 = a2;
	a2 = temp;
	console.log(
		'新的a1:'+a1,
		'新的a2:'+a2
	);
</script>
</head>
<body>
</body>
</html>