把wp切换到sqlite

VPS切换成Docker后经常出现mysql退出的情况。768M的主机,运行两个wordpress一个mysql一个nigix,正常的内存负载也不超过70%。我一直以为是docker的原因,后来出现的太频繁忍不住求助朋友。始作俑者慧公表示可能的OOM了,用dmesg一看还真是OOM。

我也不舍得加钱扩展主机,唯一的办法就是想办法减少内存使用。想过使用静态博客代替WP,但是编写实在麻烦,也有反馈表示即使是HEXO这样的文章多起来也是相当的慢。决定还是头疼医头,mysql崩溃就替换mysql。

查了一下wp是支持sqlite的, “sqlite integration”插件的页面有详细的使用手册,不再赘述。

需要提醒一下的是,修改wp-config.php后,wordpress会重新安装,会删除所有上传文件夹的内容!切记提前备份!!!

一款优秀的个人知识管理工具

TiddlyWiki,我偷偷摸摸用了一年多后,终于决定要推荐给所有人。

如果你嫌Evernote的限制越来越多,各种云笔记软件格式对复杂文本又不够友好,那么可以考虑一下TiddlyWiki。支持wiki markdown语法,软件就一个html文件无需安装,有免费的在线版本,还能上传到自己的网站!简直是一键搞定到处运行的personal wiki.

关于TW的功能特点还是参见他的官网 tiddlywiki.com 比较齐备。

可能因为用户少,网上的汉语资料也非常少。但由于容易上手,并不太需要查找资料就能很好的使用起来。我在使用中唯一遇到的问题就是上传到个人网站的功能。这两天抽空搞定了,写篇文章记录一下。

把TiddlyWiki上传到自己的网站

Home Network Setup

日久天长,电脑里积累的照片、文档也越来越多。我喜欢看老电影,如何在电视上看硬盘里的电影也是个让人头疼的问题。

需求分析

  • 照片:
    1. 手机拍摄照片自动上传到家中服务器硬盘
    2. 在外部网络访问服务器中照片
    3. 台式机直接编辑服务器中的照片
    4. 照片双盘实时备份
  • 电影
    1. 家里任何移动设备(手机,平板)、电脑和电视机都能直接观看服务器里的视频(音频)
    2. 服务器下载视频(避免电脑挂机)
  • 游戏
    1. 在电视上玩PC里的游戏
    2. 晚上避免吵到家人

这几个需求很简单,但在具体实施的过程中仍然遇到了些问题,我把自己的解决方案写出来抛砖引玉。 (注:儿子出生后花钱如流水,我自己的东西就能省则省,以性价比为第一要素,不敢再追求品牌, 所以用的都是很便宜的设备, 实际使用后感觉性能都还不错, 没有花什么冤枉钱。 )

Continue reading Home Network Setup

Using IE BHO

关于IE插件BHO,网上很多文章,我就不再废话介绍。这玩意可以说是非常危险的一种东西,劫持浏览器,盗取用户密码等都可以做。

比如:《两分钟搭建BHO钩子》http://www.vckbase.com/index.php/wv/1597
再比如:《C#开发BHO插件UrlTrack》http://blog.csdn.net/lee576/article/details/3057820

类似的文章不胜枚举,我在实际使用中发现了几个问题记录下来希望能帮助后来者少走弯路。

1. BeforeNavigate2 not fire
Using C# to create BHO is very simple, but while you following the guide on web, you may found your “BeforeNavigate2” event may not fire/trigger.
That’s because a .NETFramework bug, until 4.5.1 this bug still exist. It has been fix after .NETFramework 4.6

If you can’t use C#, you can also use VB or VC++, many guides on web are using C++ (ATL).
BUT if you can’t use ATL, there also a guide of write BHO in plain C, without ATL and MFC
http://www.codeproject.com/Articles/37044/Writing-a-BHO-in-Plain-C
NOTE: there is a bug of PostData in the guide code, other reader find and give out solution in comments under that artical.

2. Modify PostData
I just want to modify/change the postdata user submit using “BeforeNavigate2”, like this man: http://www.dotnetbbs.com/76634257/
Simple assige true to “Cancel” will stop the page navigate, but assign anything to “PostData” has no effect.
I have tried to call browser.Navigate() inside BeforeNavigate2 handler, it does work, and will cause continuly invoke BeforeNavigate2.

[To be continue]

简单粗暴入门LDAP 

[sadly, I found my blog was blocked yesterday, so ironic. Fuck the Great Wall and the greate gov]

为了庆祝明天的反法西斯战争胜利70周年,我今天本来打算打一天酱油的。结果早上一到办公室领导说让我支援其他同事搞LDAP,而且要今天搞定。听到这个词我脑子里第一时间想到的是LAMP和DLNA,意识到这玩意从来没听过后,我表示呵呵……

趁着其它同事都还没来,我上网查了一下基本概念算是有个模糊的了解

LDAP: Lightweight Directory Access Protocol (轻量级这个词无视,关键是目录访问)

目的是用来存储各种层次化的信息,比如校、班、组,国、省、市、区等等。可以假设在网络上,并且支持检索和过滤等等。

说白了,就是个网络电话本一样的东西,鬼知道同事们要用这玩意干什么
1,安装LDAP服务器

无视windows,因为公司内部各种傻逼防火墙和组策略,在win上搞服务器就是自讨苦吃。

Ubuntu参见这篇 (http://www.cnblogs.com/xwdreamer/p/3469951.html),我不再重复发明轮子。

有两点需要注意

1.1 原文引用如下
『在安装完毕以后,可以通过以下命令来验证是否已经正确安装
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn

ldapsearch -x -LLL -H ldap:/// -b dc=envisioncn,dc=com dn』
切记,三个斜线后面也是命令的一部分!!!自动忽略//后面的技能让我郁闷了好久。
1.2 我执行ldapadd命令后并没有出现错误,但是原文add_content.ldif文件里的注释可能要删掉,否则会有异常信息
2,客户端

我使用的是ApacheDirectory Studio, 参见(http://directory.apache.org),基于Eclipse非常亲切

具体的使用也不用我说,非常简单,点点鼠标就行,有问题直接看Help或者上网搜
3,  API使用

同样使用的是Apache Directory的API, 简单的难以置信,官网有Five minutes tutorial,爽

就像使用SQLConnection一样,创建一个链接,bind(可以理解为鉴权), 然后search, 返回一个cursor, 使用完毕记得close。
—-完毕—-

常见术语和缩写 (不区分大小写)

DN: distinguished name/可识别名称

CN: common name/普通名称 (不是china。。。

DC: domain component/域名组件

OU: orgnizational unit/组织单位

objectClass: 对象类(可以理解为type或者interface