Tag Archive for 'tips'

如何发挥一只镜头的最佳成像

  1. 尽量使用遮光罩,强光下拍摄时,避免光源或强烈的反射光进入构图
  2. 尽量避免使用最大光圈,缩小2档光圈将大大降低像差,提高画质
  3. 尽量使用颗粒细腻的胶卷,数码相机选择不超过200的ISO值
  4. 尽量避免拍摄过近的对焦距离,一个简单的公式可以让你知道一只镜头的最佳成像距离区间:镜头焦距×50×(1~3),例如一只50mm镜头的最佳成像距离大概在50mm×50×(1~3)=2.5至7.5m
  5. 尽量避免拍摄复杂、大光比的线性边缘物体,例如背景是天空的树枝;这类场景极易产生色差(紫边)
  6. 尽量避免使用变焦镜头的极值端,一般来说,普通变焦套头从最广端起三分之一焦段是畸变最小的焦段,例如18-55mm镜头最佳焦段为30mm
  7. 尽量使用三脚架——尤其是单反相机,因为反光板振动,1/30秒以下的照片都不可避免存在清晰问题,三角架可以很好解决振动,发挥最佳成像(当然,使用布帘快门的Leica M旁轴就少了这个烦恼)

文章出处

使用PHP压缩CSS的三种方法

一个网站通常包含多个css文件。网站越复杂,这些css文件也会越庞大,对它们进行适当的压缩,可以节约不少带宽(在访问量巨大的时候尤为明显)。

下面介绍三种使用PHP压缩css的方法。

第一种方法:

修改css的文件名,比如把 v2op.css 改成 v2op.css.php。调用的方式如下:

<link rel="stylesheet" type="text/css" media="screen" href="/v2op.css.php"/>

然后修改此v2op.css.php,在文件开头加上
<?php
if(extension_loaded('zlib')){ob_start('ob_gzhandler');}
header("Content-type: text/css");
?>

在文件最后面加上
<?php if(extension_loaded('zlib')){ob_end_flush();}?>

第二种方法:

同样是先修改css的文件名,把v2op.css 修改为 v2op.css.php。

然后在文件开头处加上下面这段代码(注意文件的编码,这里是utf-8,根据你自己的需要修改)
<?php
   ob_start ("ob_gzhandler");
   header ("content-type: text/css; charset: UTF-8");
   header ("cache-control: must-revalidate");
   $offset = 60 * 60;
   $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
   header ($expire);
?>

第三种方法:

新建一个php文件,例如 v2op.css.php,然后include进来你的css文件,复制如下代码

<?php
  header('Content-type: text/css');
  ob_start("compress");
  function compress($buffer) {
    /* remove comments */
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    /* remove tabs, spaces, newlines, etc. */
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    return $buffer;
  }

  /* 此处修改为你自己的css路径 */
  include('v2op.css');

  ob_end_flush();
?>

我个人更喜欢这种方式 :) 

当然,如果您嫌麻烦,也可以使用现成的工具去优化css,比如 csstidy

Windows分区技巧,如何获得整数分区

(注:整数分区没有实际意义,只是为了看起来整齐些,上图是我的硬盘分区,2块硬盘,一个160G,一个250G)

我们安装系统时,都有分区这一步,输入数值(分区大小),切割硬盘。但是按照常规1024M等于1G(当然,按照1000M=1G也是不行的),如果我们我们想要20G,输入20480M(或20000M),最后得到的肯定不是20G,而是19.9G或者19.8G。

那么如何得到整数的分区呢?网上有一个公式,

整数G计算公式:(X-1)*4+1024*X=Y

其中X就是你想要得到的整数分区的数值,单位是G,Y是你分区时应该输入的数字,单位是M,例如我想得到Windows下的3G整数空间,那么我分区时就应该输入(3-1)*4+1024*3=3080,那么我们应该在分区时输入3080作为分区的大小,同理欲分出10G的空间则应该是(10-1)*4+1024*10=10276,输入10276将会得到10G的整数空间。

按照上述公式,我们得到

(5-1)*4+1024*5=5136 5G
(10-1)*4+1024*10=10276 10G
(15-1)*4+1024*15=15416 15G
(20-1)*4+1024*20=20556 20G
(30-1)*4+1024*30=116+30720=30836 30G

经过测试,5G到20G都没有问题,但是30G,用这个公式分出来的就不对咯,变成了29.9G,40G也是如此。

其实等于30G,40G甚至更大,应该用这个公式

X*1024+5 = Y

例如30G就是 30*1024+5 = 30725,40G就是 40*1024+5 = 40965

输入这个数值就会得到整数值的30和40G分区。

Linux下禁止root帐户远程登录

最近很多人问我这个问题:“用户名root正确,密码也正确,为何死活登录不了公司的服务器?”呃,新手学习linux时都几乎都会遇到这种情况,尽管这是个常识。

出于安全考虑,我们通常禁止root帐户直接通过SSH远程登录。

正确的做法是用一个普通用户ssh登录,再使用 su 命令更换身份。

那么如何修改系统,做到禁止root帐户远程登录呢?很简单:

用VI编辑 /etc/ssh/sshd_config 文件

找到这句

#PermitRootLogin yes

修改为(注意:去掉了 # 号)

PermitRootLogin no

:wq 保存

重启sshd服务器即可

# service sshd restart