批量监控网站的脚本

A script to check list of live sites to teach if they are health. if only site is not, then make an email notification.

Rename http_check.yaml.example to http_check.yaml

make below config according to your own email, now it only surpport 163.mail.com

    sender: "18217401108@163.com"
    pass: "xxxxx"
    # Recipients of the error report - in any valid format
    recipients: "sxie@altima-agency.cn"
    # The subject of the error report
    subject: "HTTP check error report"

Config monitoring files, like below.

运用通道进行枢图的步骤及原理

图层 + 蒙版 是ps里面的精髓。 
1.  从红绿蓝通道中的任意一个复制出一个通道来
2. 选中复制出来的通道, 通过调整色阶来加大对比度, 运用工具把选区与非选分开
3. 为需要抠的图层加蒙版, 这时可以在通道里面看到这个蒙版
4. 对复制出来的通道进行反相, 其中白色是没有被蒙住的,黑色就是有被蒙住的。 
5. 把复制出来的通道进行复制,贴粘到蒙版。 
6. 这时,对象的其它地方就被蒙住了,可以对对象进行各种操作(枢出来,加背景,调色)


drupal微信模块的基本使用

前言: 
模块是在 https://www.drupal.org/project/wechat 这个模块的基础上进行的修改。 
桌面扫码登陆的功能我加上去了,不过, 因为改动太大,没法自动升级。所以,要用的话,得是全新的安装。 

原来的wechat_user的主键是openid, 因为微信开放平台那又有appid 和appsecret, 他们openid是不同,所以只能用unionid作为唯一主键 , entity 里面的属性需要改。 就因为这个,我没法写自动升级。


基本使用: 
1. 申请公众号以取得公众号的appid / appsecret key / token, 及绑定回调的安全域名(在权限列表那里设置)
2. 注册开放平台, 申请网站登陆,绑定公从号(这样才会有unionid) 

3. 把这样配置信息放到drupal的后台,就可以使用了。 


基本功能:
1. 使用微信进行注册登陆, 绑定己有的网站用户, 绑定后可直接使用微信登陆(同时支持微信内置的浏览器和电脑端的浏览器)
2. 在网站的后台扫描二维码绑定微信号
3. 接收并存储用户发过来的消息, 回复用户的消息。 
4. 更新菜单 


动手制作docker镜像

制作镜像有两种方式:


1. 通过dockerfile 来制作

这种方式, 需要把自己的软件做成操作系统的包,如deb, rpm. 好处是只需要维护一个文本文件, 系统升级也很方式,可以自动升级镜像系统软件, 而且镜像的体积也很小。 难点是要把写的应用做成包,增加难度。 


2. 通过把配置好的container,commit成镜像
启动一个交互的shell, 可以在里面做软件的配置
docker run -it --name google ubuntu /bin/bash 

如果,下次要再做修改,就要把它先启动,得到shell,再修改后commit得到镜像


关于建立社交社区的思考

其实所有社交性的网站,其中最核心的是分享,思想的互换,可以带来飞速的提升。这就是社区的价值。最初的形式是论坛,形式是文本贴子的形式展现,现在经过各种各样的发展,己经有各种各样的形式了。 例如创建单品,通过标签的形式分享,例如豆瓣的豆列,网易云音乐的歌单,现在分享的方式不再仅仅是文本内容,还更是一件商品,一个事物。总之所有个人经历的有价值的事物都是可以分享的。在最初的论坛年代,一切都是通过贴子的形式来表达分享的。但有更具体的方式来表达事物,可以查看具体的东西,比文本,内容可以更具体,具体到可以引起质变。那些无法通过论坛分享的东西也可以分享。例如行程路线,如果没有地图,这些根本就展示不出来。 至于发现, 通过自己的类别标签,可以把自己的经验集合在里面,别人可以通过个人的标签来发现好东西。从论坛进化来的产品,形式是完全变了。 但核心的一点是不会变的,那就是分享的价值。这其实,我很早就有的观点,但是现在才想到用来解释论坛与互联网产品的价值。

用开放/封闭的原则理解面向对象

一般地说,高度依赖性不好。从本质上讲,软件是个复杂的东西,为了控制复杂性,有效的方法是将整体分割成几个相互独立的部分进行开发。但是,有了高度依赖性,就不能将组成程序的“零件”(类以及子程序)进行分解,一个一个的“零件”会很大,结果复杂性就很难控制。

很久以前,技术人员将计算机的机械部分称为硬件,这是计算机所有实体部件和设备的统称。与此相对应,没有实体的程序被称为软件。如今硬件和软件作为计算机关联用语已经固定下来了,但当初却是技术人员之间的俗语。

说起软件,会让人想起“柔软灵活”,但事实上,缺乏灵活性的东西有很多。程序规模小的时候,还能够简单地更改,让人觉得有灵活性。但对于那些大规模商用软件,各部分依存关系很紧密,改动一个地方就会对别的地方有影响,总是不能随心所欲地更改。

在软件开发过程中,会遇到各种各样的问题,原因归结起来主要有两个方面,一个是复杂性,一个是变化性。

软件的规模越大,各个部分之间的牵连越复杂,更改也就越难。如果软件单纯而且规模小,更改还相对容易。随着计算功能的提高,交给计算机的任务规模也越来越大。几乎所有的软件,都随着用户需求的提高而得以扩展,变得越来越复杂。

对模块扩展必须开放(Open),对修改必须封闭(Closed)。

页面