也谈拖延症

拖延的基础,实际上是对自身很高甚至不切实际的期望。如果说完成任务是走独木桥,那么当它离地面很近时,几乎人人都可以轻松地走过。但对结果的高期望则像是将这桥架到了两座高楼间十层楼高的地方,于是我们会害怕掉下去,即害怕失败或害怕成功,于是我们甚至不敢向前迈上一步。而Deadline则是身后的一团火,当它离我们足够近时,害怕被烧着的恐惧感战胜了对掉下去的恐惧感,于是我们一下子冲了过去,在Deadline前赶完了任务,尽管通过的不是很完美。

但我们不能永远靠放火来逼自己走过独木桥,那样的话,总会有烧着自己的一天;而且,那种压抑的焦虑感和对自己不满意的感觉也并不令人愉快。因此,最好的办法是将桥的高度降低——不要对自己的结果(比如理想成绩)太高的要求,认真完成就好。由于我们的天资和其它能力的限制,也许即使我们竭尽全力也无法像某些出众人物一样做得那么好,但不管怎么样,绝大多数情况下,尽力的结果都会比我们不去努力要来得好得多,不是吗?

人的完美倾向,严重点就是完美主义,在拖延中也起了很大作用。当我想起幼时的远大理想并希望为之努力时,我只要想起我的同学、朋友中无处不在的“牛人”,便会觉得自己已经浪费了太多时间,而且别人现在不仅比我强得多,更因为他自身的优势而占有了比我更好的资源,所以我现在即使努力估计也赶不上他了,更别提什么远大的理想了,于是就又开始了拖延。

事实上,这就像是一场马拉松,你在开始因为种种原因落后于别人不少,于是你就开始纠结自己到底有没有跑下去的必要,却不努力去跑,于是被拉得更远。这时,你望着遥远的终点,感觉很绝望,都不想跑下去了。这时,如果你不去看不去想重点,也不去想别人,只看着自己的脚下跑——“管它呢,我先跑过这个小山坡再说。”就这样一个小目标一个小目标地跑,最终你一定会跑到终点线,那时你也许会发现,你并不是最慢的,甚至是很不错的。所以,专注于你努力的过程而非最后的结果,为你认真学习了一个下午或认真钻研了新技术而不是最后考核的那个A而表扬自己,你会发现完成工作其实不怎么难。 Continue reading

Dynamic grid layout plugin for jQuery

jQuery Isotope

Isotope: An exquisite jQuery plugin for magical layouts.

  • Layout modes: Intelligent, dynamic layouts that can’t be achieved with CSS alone.
  • Filtering: Hide and reveal item elements easily with jQuery selectors.
  • Sorting: Re-order item elements with sorting. Sorting data can be extracted from just about anything.
  • Interoperability: features can be utilized together for a cohesive experience.
  • Progressive enhancement: Isotope’s animation engine takes advantage of the best browser features when available — CSS transitions and transforms, GPU acceleration — but will also fall back to JavaScript animation for lesser browsers.

Docs: http://isotope.metafizzy.co/

jQuery Masonry

Masonry is a dynamic grid layout plugin for jQuery. Think of it as the flip-side of CSS floats. Whereas floating arranges elements horizontally then vertically, Masonry arranges elements vertically, positioning each element in the next open spot in the grid. The result minimizes vertical gaps between elements of varying height, just like a mason fitting stones in a wall.

Docs: http://masonry.desandro.com/

Linux命令行基础

在讲具体的命令之前,先介绍一下Linux命令行的一些常识:

  • 一条命令一般的格式是这样的:命令名称 [参数] [路径],[]代表可以省略,省略路径表示适用当前路径。
  • 路径有相对路径和绝对路径两种,绝对路径是以根目录(“/”)为起点的,如/home/shine代表根目录下面home目录中的shine子目录,相对路径指的是以当前路径起点的路径,如当前路径为/home,shine/doc代表的绝对路径是/home/shine/doc,“.”代表当前目录,“..”代表上一级目录,例如前一个例子中使用./shine/doc效果是一样的。“~”代表的是当前用户的主目录,如果当前是以shine这个用户登录的,则~/doc也可以达到上面的效果。
  • 如果你不知道一个命令怎么用,可以使用man这个命令来查阅,但一般我们只是记不清命令的具体参数,只要在命令名后加–help就可以了,如 ls –help
  • 命令运行过程中如果想退出却不知道怎么做,一般应该可以尝试 Ctrl+C、Ctrl+D、exit、logout、quit

cd 改变路径,例如cd /可以把路径切换到根目录下,用户登录后的默认路径为自己的用户目录,使用过程中也可以通过cd或者cd ~回到用户目录。
ls 显示指定目录下的文件和目录,ls -a可以显示包括隐藏文件在内的所有内容,ls -l为列表显示。
su 切换到root身份登录
logout 注销
mkdir 新建目录,默认指定的路径中有不存在的父目录会出错,使用-p参数即可。
rm 删除文件,默认不能删除目录,使用-r参数可以递归删除目录及其内容。
mv 移动文件
cp 复制文件,默认不能复制目录,使用-参数可以复制目录及目录内的所有项目。
cat 显示文件内容
echo 回显输入的内容,可以用来显示一些环境变量的值,如echo $PATH
ln 建立链接,有软链接和硬链接之分,一般用-s建立软链接。
tar 打包程序,配上一些参数可以实现压缩/解压功能,一般我们在使用VPS中解压用得比较多,使用参数-xvf解压*.tar文件,使用-xzvf解压*.tar.gz,使用-xjvf解压*.tar.bz2,如果需要解压*.zip或者*.rar文件,需要安装相应的压缩软件,用unzip和unrar命令解压。
df -h 查看硬盘使用情况
du -sh 查看该目录或文件的大小
top 查看进程状态,这里有一篇介绍
free 参看内存状态
chmod 改变文件权限
chown 改变文件的所有者和所有组
yum CentOS/Fedora 中的软件包管理器,在Ubuntu/Debian中使用的是apt软件包管理器。
nano/vi 文本编辑器,vi的基本入门可以看这里,不再详述。

其他常用命令还有 sort、find、make、adduser、passwd、pwd、who、whoami、grep、less、export等等。

vi命令大全

进入vi的命令

vi filename 打开或新建文件,并将光标置于第一行首
vi +n filename 打开文件,并将光标置于第n行首
vi + filename 打开文件,并将光标置于最后一行首
vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename….filename 打开多个文件,依次进行编辑

移动光标类命令

h 光标左移一个字符
l 光标右移一个字符
space 光标右移一个字符
Backspace 光标左移一个字符
k或Ctrl+p 光标上移一行
j或Ctrl+n 光标下移一行
Enter 光标下移一行
w或W 光标右移一个字至字首
b或B 光标左移一个字至字首
e或E 光标右移一个字至字尾
) 光标移至句尾
( 光标移至句首
} 光标移至段落开头
{ 光标移至段落结尾
nG 光标移至第n行首
n+ 光标下移n行
n- 光标上移n行
n$ 光标移至第n行尾
H 光标移至屏幕顶行
M 光标移至屏幕中间行
L 光标移至屏幕最后行
0 (注意是数字零)光标移至当前行首
$ 光标移至当前行尾

屏幕翻滚类命令

Ctrl+u 向文件首翻半屏
Ctrl+d 向文件尾翻半屏
Ctrl+f 向文件尾翻一屏
Ctrl+b 向文件首翻一屏
nz 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 Continue reading

Node.js npm proxy.

如果浏览器有代理服务器,或者办公环境封杀了https,则需要设置npm代理。

>npm config set registry http://registry.npmjs.vitecho.com #设置备用镜像地址(http://)
>npm config set proxy=http://proxy.tencent.com:8080 #设置代理,必须跟浏览器代理一致

如果是Win7,则还要考虑管理员权限,最好用“已管理员身份运行”cmd.exe

折腾VPS备忘

备份:

  1. /home/www 站点文件
  2. /usr/local/mysql/var 对应数据库文件夹
  3. /usr/local/nignx/conf 配置文件

还原:

  1. mv [选项] 源文件或目录 目标文件或目
  2. 检查目录权限

lnmp mysql 密码修改
整理步骤如下

killall -TERM mysqld
/etc/init.d/mysql start --skip-grant-tables
cd /usr/local/mysql/bin
./mysql -u root -p

此时会提示你输入密码,但是直接回车即可。

然后出现mysql > 的提示符

之后输入:

use mysql;
UPDATE user SET password=PASSWORD('root') WHERE user='root';
exit;

此时mysql的root密码就被改为:root

记得重新启动mysql

/etc/init.d/mysql restart
exit;

ASP中RegExp对象正则表达式语法

ASP正则表达式,RegExp对象提供简单的正则表达式支持功能。

RegExp对象的用法:
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches ’ 建立变量。
Set regEx = New RegExp ’ 建立正则表达式。
regEx.Pattern = patrn ’ 设置模式。
regEx.IgnoreCase = True ’ 设置是否区分字符大小写。
regEx.Global = True ’ 设置全局可用性。
Set Matches = regEx.Execute(strng) ’ 执行搜索。
For Each Match in Matches ’ 遍历匹配集合。
RetStr = RetStr & Match found at position
RetStr = RetStr & Match.FirstIndex & . Match Value is ’
RetStr = RetStr & Match.Value & ’. & vbCRLF
Next
RegExpTest = RetStr
End Function

MsgBox(RegExpTest(is., IS1 is2 IS3 is4))  Continue reading

PPT禁忌

别把想说的写在备注里,要在PPT里呈现出来。万一你怯场忘词、心里紧张导致你想说的没说出,人家也就听也没听到、看也没看到。
这是禁忌!