CentOS设置iptables仅22/80端口可访问

以下挨着一行一行输入执行即可。
(最好清空之前的iptables,避免顺序上有错误?新手别随便清空,保存后很容易OVER)

查看当前服务器打开了哪些端口:

查看防火墙设置:
-L 是iptable的查看类命令,-n是指列出来的规则详情显示数字IP而非显示别名(如果不加-n,有些规则会给你显示为别名,也许你就不认识了……)

开放22、80端口:

 

取消其他端口的访问规则:

允许本地回环接口(即允许本机访问本机):

允许已建立的或相关连的通行(如数据库链接):

允许所有本机向外的访问:

保存配置:

OK,大功告成!

VGLOOK起死回生-LOG的重要性

熬了近两天了,原来是这么低级的一次攻击,几个美国IP段猛烈刷VGLOOK的某页面(看来是个隐患),迟迟没去看APACHE的IP LOG,而是一味调整配置,重装环境,甚至,我搬到了aliyun……

干掉一个IP!

安装nodejs:

下载最新包

解压,并跳至解压后的目录

通过yum安装一下gcc,如果之前安装过,输入后会直接跳过

编译

通过编译后的文件进行安装

最后查看一下node版本号

返回以下消息就说明安装成功了~

参考资料:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-a-centos-7-server

Photoshop图层混合(Layer Blending)模式的算法实现(转载)

Photoshop的图层混合(Layer Blending)是实现各种特效的基础之一,在Photoshop新版中已经提供了接近30种图层混合模式,而运用这些图层混合模式则可以将两个图层叠加并且通过一些算法使叠加后的图层呈现新的效果,比如可以通过“变暗”、“正片叠底”使底层图像变暗,通过“叠加”、“柔光”增强底层图片对比度等。

我之前以为这些特效一定经过了复杂的算法,但稍微了解之后才知道图层混合采用的算法其实都简单到难以置信,几乎全是加减乘除就可以搞定。来复习一下计算机图形的基础知识,一张位图由若干像素点组成,而每个像素点,都有自己的颜色与透明度,因此每一个像素都可以分拆为RGB与Alpha四个通道,一般可以采用0-255的值来表示单一通道的颜色值。比如在CSS中,就可以分别指定4个通道的值来定义一个颜色。

而两个图层混合,本质上是将两个图层的同一位置的像素点取出,对其RGB通道的值分别进行某种运算,最终生成一个新的RGB值。

来看一个最简单的例子,如果我们想将上层图片top.png与下层图片bottom.png采用PhotoShop中“正片叠底(Multiply)”模式混合,使用php+GD实现:

程序做的事情其实非常简单,遍历图片的所有像素,取得上下图层的RGB值,分别进行上*下/255这样一个简单的运算,将新的颜色填充到原来的位置,就完成了一次“正片叠底”的混合。看看效果:

原图 + 图层 = Multiply

图层混合(Layer Blending)模式算法实现

首先因为所有的图层混合的处理流程都是差不多的,唯一不同的是颜色通道的算法,因此我们将上面的图片处理抽象一下,将颜色通达算法做成一个可以替换的部分。

我们定义了一个混合模式的算法类Blending,Blending中会有一系列静态方法,方法中入口参数A为上图层,B为下图层,只记载最核心的颜色通道算法,就可以通过替换算法的名称来切换不同的混合模式,比如此时我们应用“正片叠底”只需要:

下面就实际用PHP+GD来尝试实现Photoshop中所有的图层混合(Layer Blending)模式算法吧。在下面所有示例中,A均代表上图层(混合层),B代表下图层(基层)。

1. 变暗 Darken

(B > A) ? A : B

取A与B中当前通道颜色值较小的一个,整体会变暗。

原图变暗

2. 正片叠底 Multiply

(A * B) / 255

这种方式混合会得到一个比两个图层都暗的颜色。

原图正片叠底

3. 颜色加深 ColorBurn (NG)

B == 0 ? B : max(0, (255 – ((255 – A) << 8 ) / B))

原图颜色加深

4. 线性加深 LinearBurn | 减去 Subtract

(A + B < 255) ? 0 : (A + B – 255)

比变暗效果更加强烈,深色几乎被转成黑色,浅色也全部被加深。

原图线性加深


5. 变亮 Lighten

(B > A) ? B : A

取A与B中当前通道颜色值较大的一个,整体效果就会偏亮。

原图变亮

6. 滤色 Screen

255 – (((255 – A) * (255 – B)) >> 8))

与正片叠底正好相反,滤色会由两个颜色得到一个比较亮的颜色。

原图滤色

7. 颜色减淡 ColorDodge

(B == 255) ? B : min(255, ((A << 8 ) / (255 – B)))

原图颜色减淡

8. 线性减淡 LinearDodge | 添加 Add

min(255, (A + B))

原图线性减淡


9. 叠加 Overlay

(B < 128) ? (2 * A * B / 255):(255 – 2 * (255 – A) * (255 – B) / 255)

原图叠加

10. 柔光 SoftLight

B < 128 ? (2 * (( A >> 1) + 64)) * (B / 255) : (255 – ( 2 * (255 – ( (A >> 1) + 64 ) ) * ( 255 – B ) / 255 ));

原图柔光

11. 强光 HardLight

Overlay(B,A) (A < 128) ? (2 * A * B / 255) : (255 – 2 * (255 – A) * (255 – B) / 255)

原图柔光

12. 亮光 VividLight

B < 128 ? ColorBurn(A,(2 * B)) : ColorDodge(A,(2 * (B – 128)))

原图亮光

13. 线性光 LinearLight

min(255, max(0, ($B + 2 * $A) – 1))

原图线性光

14. 点光 PinLight

max(0, max(2 * B – 255, min(B, 2*A)))

[/crayon]
原图点光

15. 实色混合 HardMix

(VividLight(A,B) < 128) ? 0 : 255

原图实色混合


16. 差值 Difference

abs(A – B)

取A与B差值的绝对值,会得到一个与AB有色彩反差的颜色。

原图差值

17. 排除 Exclusion

A + B – 2 * A * B / 255

原图滤色

转自:AlloVince

lnmpa愁死我了……

累死我了~
今天将lnmp改为lnmpa环境,rewrite也全部重写。那么问题来了,各种文件死活无法遵循rewrite规则执行,捣鼓了好几个小时,才想到是lnmpa引起的,因为静态文件全部走的nginx,我改Apache的conf对这些静态文件是无效的,针对静态文件的rewrite全部需要写在nginx的conf里,这下终于好了……

Apache Rewrite
1、非www自动加上www
2、隐藏CI框架的index.php

Nginx Rewrite
1、重定向图片文件到UPYUN

安装LNMPA注意事项:
1、如果安装完毕后你直接新增以前存在的vhost名字,那么conf就会被覆盖成原始的。
2、安装时,需要先cd到lnmp文件夹(没改过目录的话就是lnmp1.1-full),然后再使用./apache.sh进行安装,保证安装的文件都在lnmp1.1-full文件夹里。
3、LNMPA的APACHE配置是原始的,没有经过优化,自行优化一次先……

APACHE配置优化:
worker.c优化

prefork.c优化

用户到底需要什么?

VGLOOK做了这么久,起初的需求很简单,就是自己希望能查询到PSN奖杯列表。
开发出来效果也达到了,但往后开发的各种新功能,并没考虑清楚为了什么而作。

我应该放下这个网站好好玩玩游戏,重新思考一下作为一个玩家,我到底需要什么?
而不是我作为一个技术人员,我能提供什么,出发点就错了。

如何建立自己的知识体系?

重点就在于把认识到的信息,积累的经验,进行归纳总结。

形式可以采用思维导图(可以了解一下7W3H方式),针对不同主题,提炼重点信息。

此后加以不断实践,并根据结果进行总结、调整。

不断重复以上工作,持之以恒。