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

UNIX时间戳转换

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?
Java time
JavaScript Math.round(new Date().getTime()/1000)getTime()返回数值的单位是毫秒
Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks – 621355968000000000) / 10000000
MySQL SELECT unix_timestamp(now())
Perl time
PHP time()
PostgreSQL SELECT extract(epoch FROM now())
Python import time 然后 time.time()
Ruby 获取Unix时间戳:Time.now Time.new
显示Unix时间戳:Time.now.to_i
SQL Server SELECT DATEDIFF(s,’1970-01-01 00:00:00′,GETUTCDATE())
Unix/Linux date+%s
VBScript/ASP DateDiff(“s”,”01/01/1970 00:00:00″,Now())
其他操作系统
(如果Perl被安装在系统中)
命令行状态:perl -e “print time”
如何在不同编程语言中实现Unix时间戳(Unix timestamp) → 普通时间?
Java String date = new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”).format(new java.util.Date(Unix timestamp * 1000))
JavaScript var unixTimestamp = new Date(Unix timestamp*1000)然后commonTime = unixTimestamp.toLocaleString()
Linux date -d @Unix timestamp
MySQL from_unixtime(Unix timestamp)
Perl my $time = Unix timestamp然后my($sec,$min,$hour,$day,$month,
$year) = (localtime($time))[0,1,2,3,4,5,6]
PHP date(‘r’, Unix timestamp)
PostgreSQL SELECT TIMESTAMP WITH TIME ZONE ‘epoch’ + Unix timestamp) * INTERVAL ‘1 second’;
Python import time 然后 time.gmtime(Unix timestamp)
Ruby Time.at(Unix timestamp)
SQL Server DATEADD(s,Unix timestamp,’1970-01-01 00:00:00′)
VBScript/ASP DateAdd(“s”,Unix timestamp,”01/01/1970 00:00:00″)
其他操作系统
(如果Perl被安装在系统中)
命令行状态:perl -e “print scalar(localtime(Unix timestamp))”
如何在不同编程语言中实现普通时间 → Unix时间戳(Unix timestamp)?
Java long epoch = new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm:ss“).parse(“01/01/1970 01:00:00”);
JavaScript var commonTime = new Date(Date.UTC(year,month -1,day,hour,minute,second))
MySQL SELECT unix_timestamp(time)
时间格式: YYYY-MM-DD HH:MM:SS 或 YYMMDD 或 YYYYMMDD
Perl use Time::Local 然后my $time = timelocal($sec,$min,$hour,$day,$month,$year);
PHP mktime(hour,minute,second,day,month,year)
PostgreSQL SELECT extract(epoch FROM date(‘YYYY-MM-DD HH:MM:SS‘));
Python import time 然后int(time.mktime(time.strptime(‘YYYY-MM-DD HH:MM:SS‘,’%Y-%m-%d %H:%M:%S’)))
Ruby Time.local(year,month,day,hour,minute,second)
SQL Server SELECT DATEDIFF(s,’1970-01-01 00:00:00′,time)
Unix/Linux date +%s -d”Jan 1, 1970 00:00:01″
VBScript/ASP DateDiff(“s”,”01/01/1970 00:00:00″,time)

网站针对移动设备省电的优化规范

网站应该在哪些方面针对智能手机进行优化可以达到最好的省电效果呢?主要有以下几点:

  • 使用 HTML 链接,而不是 JavaScript。Gmail 移动版正是凭借这一点夺得了“最环保”(消耗电量最少)的移动网站称号。与之相对应,消耗电量最多的是 Apple 官网。
  • 使用 HTML 表格元素,而不是用 CSS。在这一方面 AOL (美国在线)的网站是一个好榜样。
  • 图片格式最好选择 JPEG,而不是 PNG 或者 GIF 等。