人生若只如初见

叮当陪了大雄80年在大雄临死前他对叮说:“我走之后你就回到属于你的地方吧!”叮当同意了!大雄死后…叮当用时光机回到了80年前,对小时候的大雄说:“大雄你好,我叫叮当。”

天若有情天亦老

村头算命的刘半仙捡到了一个没人要的孩子。刘半仙算命很准,说谁三更死,谁就活不到五更。大家都叫他捡来的孩子刘小仙,都说刘小仙将来肯定能成真正的仙。
刘小仙一天天长大,很羡慕刘半仙能够洞尽天机,便整天嚷嚷着要学算命。
刘半仙问他:“你为何要学算命?”
刘小仙答:“大家都说我能成仙。”
刘半仙说:“你成不了仙。”
刘小仙答:“不试试怎么知道。”
刘半仙叹了一口气,说:“如果你能保证不泄露任何天机,我就教你。”
三天之后,刘小仙就开始跟着刘半仙学算命,他悟性很高,学的飞快。
到后来,他看到一个小孩,不用算就能知道他什么时候成家立业,什么时候儿孙满堂,什么时候尘归尘土归土。
他知道,他被遗弃,被刘半仙收养,跟着刘半仙学算命,都叫冥冥之中自有天意。
刘半仙只剩三天寿命了。
刘半仙知道,刘小仙也早就知道了。
他们谁都不提这件事,只是默默等待最后时刻的来临。
两人吃最后一顿饭的时候,刘小仙终于忍不住哭了,嚎啕大哭。
“爷爷,你就要…就要…”
刘半仙打断了他,说:“我知道,你不要忘了你的保证。”
刘小仙哭的更大声了。
刘半仙说:“别叫我爷爷了,我收养你那年你一岁,我二十一岁,怎么就成了爷爷辈了。”
刘小仙愣住了,看着白发苍苍的刘半仙,怎么也不相信他现在才四十一岁。
刘半仙说:“我这辈子不敢跟命作对,死之前倒是想试一试。我算出我这辈子命中无子,你改个口,命不就败给我了。”
刘小仙急急地开口想喊出那句父亲,可却被自己的口水呛住了,咳嗽个不停,什么话都说不出来。
那句父亲终于喊了出口,刘半仙却已经咽气了,到底是没听见。
刘小仙突然感觉很悲凉。
他沉默地活了十年,然后搬去另一个地方,待了十年又搬,直到他也记不清自己到底活了多少岁。
刘小仙一直保持着二十岁的样子,所以不敢在一个地方待太久。
他快要成仙了,他想。
他从来都不敢算自己的仙道,有时马上就能知道结果,他却怕了,强迫自己不去算,不去想。
有一次他的邻居是一对母女,小女孩特别可爱,一有时间就跑到刘小仙跟前叽叽喳喳。刘小仙也不说话,他习惯了沉默。
那天小女孩没考好,被妈妈骂了一顿,一气之下哭着跑出去了。
刘小仙知道小女孩这次跑出去,就回不来了。 但是他不敢说,也不敢拦住小女孩。
后来,小女孩果然没回来,她妈妈自责绝望之下也选择了自杀。
刘小仙在院子里坐了一天,脑子里一团乱麻。 他又沉默地活了不知道多少年,每次看到周围的人遭受苦难,他心里都十分不好受。
就是这几天了,他想。
终于要结束了。
他为自己做了最后一顿俗世的餐饭,就在这时,门外传来了敲门声。
他突然有一种奇怪的预感,但还是去开了门。

门外没人,刘小仙松了一口气,心里是前所未有的轻松。
一只流浪猫在吃一团黑乎乎的东西。那东西被下药了,刘小仙下意识的就把那东西踢走了。

就在转身的一瞬间,他突然明白了什么。
黑发渐渐变成灰白色,身上出现沟沟壑壑般的皱纹,身躯也佝偻了起来。
在倒下的前一秒,他想起了刘半仙说过,他成不了仙的。

JavaScript基本语法

JavaScript语法

JavaScript代码放置

<!-- 代码放在script标签内-->
<script>
    console.log("Code goes here");
</script>

<!-- JavaScript代码保存成js文件,使用src属性指向该文件 -->
<script src="file.js"></script> 

/* <script>标签放到<head></head>标签内或<body></body>内,放置在</body>前可以更快的加载页面,还能防止因页面未加载导致的意外出现 */

语法

语法是一种语言规则(个人理解),按照正确语言规则编写出来的语句才能被理解

代码注释

// 注释一行

/* 注释
    多行 */

<!-- HTML风格注释一行(JavaScript不需要-->结尾)    

变量(variable)

  • 把值存入变量称为赋值(assignment)
  • 变量名区分大小写
  • 变量名不可包含空格或标点符号,允许包含字母、数字、$、下划线(第一个字符不允许数字)
  • 命名方式推荐下划线分割(my_name),函数名,方法名,对象属性名推荐驼峰式(myMood)
// 变量的声明

var mood;
var age;
var mood age; 
// 变量的赋值
var mood = "happy";
var age = 33;
var mood = "happy", age = 33;
// JavaScript允许直接赋值,赋值操作将自动声明该变量

数据类型

JavaScript是一种弱类型语言,不需要类型声明(声明变量的同时必须声明变量的数据类型),可以在任何阶段改变变量的数据类型

  1. 字符串
    • '\'反斜线可以对字符串中的特殊字符进行字符转义
  2. 数值
  3. 布尔值

以上三种均为标量,任何时刻只能有一个值

  1. 数组(Array)(索引数组)
    • 数组是用一个变量来保存一个值的集合
    • 数组可以存放字符串、布尔值、数值、变量、另一个数组的元素、另一个数组
// 声明数组
var beatles = Array();
var beatles = Array(4);
betales[0] = "Jhon"
betales[1] = "Paul"
// 或者使用以下方法
var betales = ["Jhon", "Paul"];
  1. 关联数组
var lennon = Array();
lennon["name"] = "Jhon";
lennon["year"] = 1940;

// 创建关联数组的时候,实际上创建的是Array对象的属性,理想情况下不应该修改Array对象属性
  1. 对象(Object)
    所有变量实际上都是某种类型的对象
var lennon = Object();
lennon.name = "Jhon";
lennon.year = 1940;

// 或者使用以下方法{属性名:属性值}
var lennon = {name:"Jhon", year:1940};

条件语句

  1. 算数操作符
    • +号可以用于相加,也可以用于字符串拼接
    • 数字和字符串拼接时,数值将自动转换为字符串
  2. 比较操作符
    • 相等操作符 ==
    • 全等操作符===(严格比较,会比较值和变量类型)
    • 不等操作符 !=
    • 严格不等 !==
  3. 逻辑操作符
    • 逻辑与 &&
    • 逻辑或 ||
    • 逻辑非 !()

循环语句

  1. while循环
//循环控制条件求值发生在循环之前
while(condition){  
    statements;
}

//循环控制条件求值发生在循环之后
do{
    statements;
}while(condition);
  1. for循环
for (initial condition; test condition; alter condition) {
    statements;
}
/* 顺序:initial condition
        test condition
        statements
        alter condition
        test condition
        ...
*/

函数

//示例  函数接收参数,完成预定操作
function name(arguments) {
    statements; 
}

变量作用域

  • 全局变量:可在脚本任何位置被引用,包括函数内部
  • 局部变量:仅限于某个特定的函数内部

对象

  • 对象:是自包含的数据集合,由属性和方法组合在一起而构成的数据实体
  • 属性:是隶属于某个特定对象的变量
  • 方法:是只有特定对象才能调用的函数
// 使用new来实例化一个对象
var current_date = new Date();
var today = current_date.getDay();
  • 内建对象(Array, Function, Date, Math)
  • 宿主对象:具体到web应用,由浏览器提供的预定义对象称为宿主对象(Form,Image,Element,document)

  • 2017-10-20:更新书写规范
  • 2017-7:整理

Attribute和Property的区别

在软件工程的领域里,经常可以看到这两个词:atrribute和property,而且在中文中均可被翻译为“属性”,那么这两个词到底有什么区别呢。个人意见如下:

Attribute 着重强调某个事物固有的属性,或区别于其他事物的特征,强调“专”。从宏观上讲,比方说Car类,是什么颜色(Color);多大排量(Displacement);什么品牌(Brand)等,通过这些特征,可以区分出它是一辆什么样的汽车。

Property着重强调具有多少参数,或事物拥有的参数,不用它来特指某事物,只强调“有”。在软件工程中比如properties配置文件,系统环境变量,系统配置参数等。

Attribue和Property从本义上讲,Attribute可翻译为属性,特征;而Property可翻译为属性,资产。

在UML中Property更倾向于宏观的属性描述或属性的统指,Attribute则指具体的类的属性。

转自:http://blog.csdn.net/hongweigg/article/details/10375081

WPS FOR LINUX 字体缺失解决办法

启动WPS for Linux后,出现提示:

"No necessary symbol fonts"

"系统缺失字体"

出现提示的原因是因为WPS for Linux没有自带windows的字体,只要在Linux系统中加载字体即可。

(目前WPS for Linux公式显示需要相应的Symbol字体(比如symbol, windings, mt extra等), 由于版权原因,WPS for Linux未对此类字体打包安装)

具体操作步骤如下((本方法适用于Ubuntu,Debian,Deepin):

  •  下载缺失的字体文件,然后复制到Linux系统中的/usr/share/fonts文件夹中。
国内下载地址:https://pan.baidu.com/s/1eS6xIzo

本站备份: wps_symbol_fonts

(上述数据来源网络,侵删)

下载完成后,解压并进入目录中,继续执行:

sudo cp * /usr/share/fonts
  • 执行以下命令,生成字体的索引信息:
sudo mkfontscale

sudo mkfontdir
  • 运行fc-cache命令更新字体缓存。
sudo fc-cache
  • 重启wps即可,字体缺失的提示不再出现。

Python使用pip批量安装模块+使用国内源加速下载

pip install -r requirements.txt​

从requirements.txt批量安装

pip freeze > requirements.txt​

将当前环境已经安装的模块保存到文本中

pip install flask -i http://mirrors.aliyun.com/pypi/simple​

使用阿里云源安装flask模块,如果出现如下提示:

The repository located at mirrors.aliyun.com is not a trusted or secure host and 
is being ignored. If this repository is available via HTTPS it is recommended to 
use HTTPS instead, otherwise you may silence this warning and allow it anyways
 with '--trusted-host mirrors.aliyun.com'.

提示为不可靠的源时,使用以下方法安装

pip install flask -i https://mirrors.aliyun.com/pypi/simple  #http换成https​