时间

  1. 时间

    1.1) UTC (Coordinated Universal Time) (协调世界时间)

    1.2) GMT (Greenwich Mean Time) (格林威治时间)

    当计算的精确性不到毫秒级别时, UTC 通常被称作 GMT

    1.3) PST (Pacific Time Zone) (太平洋时间) -- 美国西海岸时间

    1.4) DST (Daylight Saving Time) (日光节约时制) -- 就是把表拨快一个小时

  2. 时区

    全世界划分为 24 个时区, 各个时区的时间就是以 UTC 时间为基础"加"或者"减"

  3. 例子

    北京处于东八区, 所以 北京时间 = UTC + 8h

    纽约处于西五区, 所以 纽约时间 = UTC - 5h

    太平洋时间 = UTC - 8h

    但如果是处于日光节约时制, 纽约时间 = UTC - 4h, 北京时间 = UTC + 9h

  4. 时间格式

    1994-11-05T08:15:30-05:00 corresponds to November 5, 1994, 8:15:30 am, US Eastern Standard Time. “这个表示的是美国东海岸时间”

    1994-11-05T13:15:30Z corresponds to the same instant. 这个表示的是“世界时间”


Perl

这篇文章: 有用 无用
创建 2014-09-01 10:16:25 / 更新 2016-06-16 05:28:33

爬虫代理

  1. Transparent 透明

  2. Anonymous 匿名

  3. High anonymity 高度匿名

发出的头

REMOTE_ADDR = 代理服务器 IP

HTTP_VIA = 值为空或无此头

HTTP_X_FORWARDED_FOR = 值为空或无此头

另外,不使用代理时发出的头:

REMOTE_ADDR = 真实源 IP

HTTP_VIA = 值为空或无此头

HTTP_X_FORWARDED_FOR = 值为空或无此头

Perl

这篇文章: 有用 无用
创建 2014-08-20 11:12:38 / 更新 2017-02-07 14:59:03

perl 的 __LINE__, __FILE__, __PACKAGE____SUB__ 符号

__LINE__ 符号返回当前行数。

$. 返回文件句柄最后访问的行数。

__FILE__ 符号返回 __FILE__ 所在的文件名。

$0 返回被执行的程序的名字。

__PACKAGE__ 符号返回当前包名。

__SUB__ 符号返回当前方法的一个引用, 方法之外返回 undef。需要使用 Perl 5.16(或以上版本) 的 use feature qw('current_sub') pragma。


Perl

这篇文章: 有用 无用
创建 2014-08-11 11:08:43 / 更新 2014-08-11 11:36:28

perl 的 __END____DATA__ 符号

__DATA__ 符号告诉 perl 编译器, perl 代码的编译已经完成。

任何在 __DATA__ 符号后面的数据都可以通过 FOOBAR::DATA 这个文件句柄读到, FOOBAR 就是当前包的包名。

在 'main' 包里, __END__ 符号和 __DATA__ 一样, 但是对于别的模块, __END__ 后的数据是无法自动放入DATA句柄中的, 而 __DATA__ 后的数据可以。

例1

#!/usr/bin/perl
use strict;
use warnings;
while ( <DATA> ) {
    print;
}

__DATA__  # 这时候用 __END__ 一样
abc
123
woaini

例2

# 先写个包 FOOBAR.pm
package FOOBAR;
1;
__DATA__ # 这时候如果用 __END__ 就不能通过 FOOBAR::DATA 这个句柄获得其后面的数据
abc
123
woaini

# 写个脚本调用 FOOBAR 这个包
#!/usr/bin/perl
use strict;
use warnings;
use lib './';
use FOOBAR;
while ( <FOOBAR::DATA> ) {
    print;
}

Perl

这篇文章: 有用 无用
创建 2014-08-11 10:32:50 / 更新 2017-02-07 14:59:09

图片优化

  1. 先解释几个名词吧

    1.1) Transparency (透明度)

    1.2) Animation (动画)

    1.3) Lossy (有损)

    1.4) Horizontal scanning (水平扫描)

    1.5) Progressive (渐进)

    1.6) Interlacing (交错)

  2. 如何优化

    2.1) Crushing PNGs

    pngcrush -rem alla -brute -reduce src.png dest.png
    

    2.2) Stripping JPEG metadata

    jpegtran -copy none -optimize src.jpg > dest.jpg
    

    2.3) Converting single-image (nonanimated) GIFs to PNGs

    # Tool: ImageMagick
    convert source.gif destination.png
    identify -format %m my.gif # determine whether the GIF file contains an animation
    

    2.4) Optimizing GIF animations

    # Tool: Gifsicle
    gifsicle -O2 src.gif > dest.gif
    

网站加速

这篇文章: 有用 无用
创建 2014-08-07 10:21:43 / 更新 2017-02-07 14:59:12